1.2 创建数据表
在数据库创建完成后,就可以在已创建好的数据库下创建数据表。创建数据表的过程就是对表中字段名称、字段属性的定义过程,同时,也是对数据库的数据完整性进行定义的过程。
MySQL命令的书写规则:
(1)SQL语句必须以分号(;)或者(\G)结束
(2)保留关键字不区分大小写:
(3)SQL语句可以自由的换行
(4)使用#或--空格或--+或/*...*/加注释
1.2.1 创建数据表的语法
创建数据表需要的内容:表名、字段名和每个字段的定义和约束.
CREATE TABLEIIF NOT EXISTS <table name>
Col name 1, datatype
Col name 2,datatype.
ENGINE=enqine DEFAULT CHARSET=charset
1.2.2 主键约束
1、使用单字段主键
(1)在定义字段时定义主键,语法如下
Col_name datatype PRIMARY KEY
在test1数据库中创建数据表Students,将StudentID字段设置为主键
mysql> CREATE TABLE Students(
->StudentID INT(6) PRIMARY KEY , \\学号
->StudentName VARCHAR(20), \\学生名字
>StudentSex VARCHAR(5) , \\性别
-> Studentbir date, \\生日
->Studentminzu VARCHAR(10) , \\名族
->StuAddr VARCHAR(20)); \\地址
第一步先进入数据库,在进入数据表。
1.2.2数据表删除
删除数据表就是将已存在的数据表从数据库中删除。语法如下·
DROP TABLE [IF EXISTS] table_name_1,table_name_2,……;
1.删除没有被关联的表
删除Sailing数据库中的temp表
mysql> DROP TABLE temp;
2删除被其他表关联的主表
数据表之间存在外键关联的情况下,如果直接删除主表,结果会显示失败。原因是如果删除主表会破坏表之间的参照完整性。如果一定要删除,可先删除子表,然后才能删除主表。如果要保留子表中的数据,只有先删除表之间的参照完整性,然后再删除主表
1.2.3数据表更名
如果数据表的命名需要修改,可利用RENAME来修改表名。语法如下:
ALTER TABLE <old_table_name> RENAME [TO]< new_table_name>;
将表Sales更名为Sale。
mysq> ALTER TABLE Sales RENAME Sale;
1.3 修改表结构
1.3.1 修改字段的数据类型
修改字段的数据类型,即是要将该字段的数据类型转换成另一种数据类型。修改数据类型的语法如下:
ALTER TABLE < table_name> MODIFY <col_name> <datatype>;
1.3.2 修改字段名
如果数据表中的字段名命名不合适,可进行修改。修改字段名的语法如下:
ALTER TABLE < table_name> CHANGE<old_col_name> <new_col_name> <datatype>;
1.3.3 添加字段
在添加字段时,应该包括字段名、字段类型和所需的完整性约束。语法如下
ALTER TABLE< table_name > ADD <new_col _name> <datatype>[constraint] [FIRST | AFTER col_name];
假设数据库中已存在数据表Students,在表的开始添加一个字段“StudentTel",类为INT。
mysql> ALTER TABLE Students ADD StudentTel INT(6);
在Stu表的尾部添加一个字段“school,类型为char
mysql> ALTER TABLE Students ADD BirthDate DATE;
在Students表的StudentName字段后添加一个字StudentClass.
mysql> ALTER TABLE Students ADD StudentClass varchar(20) AFTER StudentName;
在Stu表的尾部添加一个字段“school,类型为char
在班级的前面加fdy char
1.3.4 删除字段
删除字段,即从指定表中将指定字段移出,同时,该字段中的所有数据和约束,以及与其他表之间的约束关系均被移除。语法如下:
ALTER TABLE <table_name> DROP <col_name>
在Students表中多了一个字段StudentMz,要将该字段删除。
mysql> ALTER TABLE Students DROP StudentMz
比如:我们要删除fdy
附:
MySQL中有多种字段类型,每种类型都可以具有不同的长度。以下是一些常见的MySQL字段类型和一些示例:
整数类型:
INT:整数类型,常用于存储整数,范围从-2147483648到2147483647。 示例: age INT(3),用于存储年龄,长度为3,取值范围是-999到999。
小数类型:
FLOAT:单精度浮点数,用于存储较小的浮点数。 示例: price FLOAT(8, 2),用于存储商品价格,总长度为8,其中小数部分占2位。
双精度小数类型:
DOUBLE:双精度浮点数,用于存储较大的浮点数。 示例: amount DOUBLE(10, 4),用于存储交易金额,总长度为10,小数部分占4位。
字符串类型:
VARCHAR(n):可变长度字符串,最大长度为n个字符。 示例: name VARCHAR(50),用于存储人名,最大长度为50个字符。
定长字符串类型:
CHAR(n):固定长度字符串,最大长度为n个字符。 示例: postal_code CHAR(6),用于存储邮政编码,固定长度为6个字符。
日期和时间类型:
DATE:用于存储日期,格式为'YYYY-MM-DD'。 示例: birth_date DATE,用于存储生日日期。
DATETIME:用于存储日期和时间,格式为'YYYY-MM-DD HH:MM:SS'。 示例: last_updated DATETIME,用于存储最后更新时间。