时间:2021-07-01 10:21:17 帮助过:33人阅读
数据定义语言:(DDL,Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop 等。
数据操作语言:(DML,Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:insert,delete,update 等
数据控制语言:(DCL,Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户;关键字:grant 等。
数据查询语言:(DQL,Data Query Language),用来查询数 据库中表的记录。关键字:select,from,where 等
MySQL支持多种数据类型,大致分为三类:
? 数值
? 日期/时间
日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和 YEAR
每个时间类型有一个有效值范围和一个"零"值,当指定不合法的 MySQL不能表示的值时使用"零"值。
? 字符串(字符)类型
- <code class="language-sql">create database 数据库名;
- create database 数据库名 character set 字符集;
- 建议字符集格式设置 utf8或gbk
- </code>
- <code class="language-sql">查看数据库服务器中的所有的数据库:show databases;
- 查看某个数据库的定义的信息:show create database 数据库名;
- </code>
- <code class="language-sql">drop database XXX
- </code>
- <code class="language-sql">修改数据库默认的字符集:
- alter database 数据库名 default character set 字符集
- </code>
- <code class="language-sql">create table 表名(
- -- 可以定义多个列
- 字段名 类型(长度) 约束,
- 字段名 类型(长度) 约束
- );
- 查看数据库中的所有表:show tables;
- 查看表结构:desc 表名;
- 查看创建表的 SQL 语句:show create table 表 名;
- </code>
这里要注意的是double类型在指定长度的时候,我们需要指定小数点之前的长度和小数点之后的长度。
- <code class="language-sql">drop table 表名;
- </code>
- <code class="language-sql">--修改表添加列
- alter table 表名 add 列名 类型(长度) 约束;
- -- 修改表修改列的类型长度及约束
- alter table 表名 modify 列名 类型(长度) 约束;
- -- 修改表修改列名
- alter table 表名 change 旧列名 新列名 类型(长度) 约束;
- -- 修改表删除列
- alter table 表名 drop 列名;
- -- 修改表名
- rename table 表名 to 新表名;
- </code>
主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录
- <code class="language-sql">//创建表的时候添加主键
- CREATE TABLE Persons
- (
- Id_P int NOT NULL,
- LastName varchar(255) NOT NULL,
- FirstName varchar(255),
- Address varchar(255),
- City varchar(255),
- PRIMARY KEY (Id_P)
- )
- //后期添加主键
- ALTER TABLE Persons ADD PRIMARY KEY (Id_P)
- //如果想添加多个列的主键
- ALTER TABLE Persons ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
- //删除
- ALTER TABLE Persons DROP PRIMARY KEY
- ALTER TABLE Persons DROP CONSTRAINT pk_PersonID
- //查看当前约束
- SHOW KEYS FROM students ;
- </code>
? 唯一约束是指定table的列或列组合不能重复,保证数据的唯一性
? 唯一约束不允许出现重复的值,但是可以为多个null
? 同一个表可以有多个唯一约束,多个列组合的约束
? 如果不给唯一约束名称,就默认和列名相同
? MySQL会给唯一约束的列上默认创建一个唯一索引
- <code class="language-sql">---添加唯一约束 ??
- Alter?Table?stuInfo Add?Constraint?UQ_stuID?unique(stuID) ??
- </code>
- <code class="language-sql">---添加外键约束 ??
- ALTER TABLE students
- ADD CONSTRAINT FOREIGN KEY (class_Id) REFERENCES class(class_Id);
- </code>
- <code class="language-sql"># 插入一条数据
- INSERT INTO class (class_Id,NAME) VALUES ( 3, ‘三班‘)
- #插入全部数据的简写
- INSERT INTO class VALUES ( 3, ‘三班‘)
- # 插入多行数据
- INSERT INTO class VALUES ( 5, ‘五班‘) ,(6,‘六班‘)
- </code>
- <code class="language-sql">//删除整个表
- DELETE FROM teache;
- //删除表中符合条件的某个数据
- DELETE FROM students WHERE class_Id=3;
- </code>
注意:
删除表中所有记录使用【delete from 表名】,还是用【truncate table 表名】? 删除方式的区别:
- <code class="language-sql">UPDATE students SET NAME=‘王健森‘,age=24 WHERE NAME=‘王五‘
- </code>
JAVA基础-数据库基础操作
标签:modify 检索 load medium 定义数据 创建表 进制 varchar lang