发表于: 2018-03-10 21:59:05
2 649
今天完成的事情:
学习了MySQL关于库,表,字段的一些增删改查;
明天计划的事情:
1.继续学习MySQL语法;
2.按task进程往下走;
遇到的问题:
收获:
1.启动MySQL: net start mysql //这里的mysql是你的用户名
关闭MySQL: net stop mysql
链接MySQL: mysql -u root -p
2.查询MySQL中的数据库: SHOW DATABASES;
创建一个数据库: CREATE DATABASE 数据库名;
删除一个数据库: DROP DATABASE 数据库名;
具体使用某个数据库: use 数据库名;
查询数据库下的所有表: SHOW TABLES;
3.创建数据表: CREATE TABLE 数据表名(
字段名1 数据类型[列级约束条件],
字段名2 数据类型,
字段名3 数据类型
);//[ ]括号中的内容可有可无
删除数据表: DROP TABLE 数据表名;//删除无关联表
/*删除被其它表关联的主表:
1.先删子表,后删父表。
2.先解除外键关系,然后删除父表,可保留子表。*/
查询表结构:
1.查看表基本结构语句 DESCRIBE 表名;
DESC 表名;//DESC为describe简写
2.查看创建表的语句 SHOW CREATE TABLE 表名;
SHOW CREATE RABLE 表名\G;
第二种显示的格式更为美观
修改数据表:
1.修改数据表名 ALTER TABLE 旧表名 RENAME To 新表名;
2.修改表中的字段名 ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;//不仅能改字段名,字段的数据类型也可以一起修改。
3.修改表中的数据类型 ALTER TABLE 表名 MODIFY 字段名 数据类型;
4.修改字段的排列位置
(1)ALTER TABLE 表名 MODIFY 字段1 数据类型 FIRST;//放在第一位
(2)ALTER TABLE 表名 MODIFY 字段1 数据类型 AFTER 字段2;//放在字段2的后面
(3)ALTER RABLE 表名 CHANGE 字段1 字段2 数据类型 FIRST;//放在第一位
(4)ALTER RABLE 表名 CHANGE 字段1 字段2 数据类型 AFTER字段3;//字段2覆盖字段1,然后放在字段3后面
MODIFY和CHANGE区别:
原理相同,MODIFY只能修改数据类型,CHANGE能修改字段名和数据类型,MODIFY就相当于CHANGE更具体化的一个操作。
4.增加字段:
ALTER TABLE 表名 ADD 新字段名 数据类型 [约束条件] FIRST;
ALTER TABLE 表名 ADD 新字段名 数据类型 [约束条件] AFTER 已存在表名;
如不指定默认为最后一个。
删除字段:
ALTER TABLE 表名 DROP 字段名;
删除表的外键约束:
ALTER TABLE 表名 DROP FOREICH KEY 外键约束名;
5.数据表的六大约束:
主键约束: PRIMARY KET(默认值不能为空,不能重复,唯一值)(寻找记录时,也是根据主键来寻找)——单字段主键约束
多字段主键约束(复合主键):
即:id和name都是主键,在以后增加的记录中,id和name不能同时一样
如:id=1,name=yyy。另一个表id=1,name=bbb。这样是可以的。
外键约束: CONSTRAINT 外键约束 FOREIGN KEY (被外键约束字段名称) REFERENCES 主表名(主表字段);
非空约束: NOT NULL,被该约束修饰的字段,不能为空,主键约束中包含此约束。
唯一约束: UNIQUE,被修饰字段的值唯一,不能有相同值。
默认约束: DEFAULT,指定这一列的默认值是多少,在增加记录时,该值没填,DEFAULT值,则使用默认值
自动增加: AUTO_INCREMENT 一个表只有一个字段可以使用,并且使用的这个约束字段只能是整数字段。一般给主键使用。
评论