MySQL语法总结
MySQL结构:
数据库中存放数据都是依托与一张张的数据表存在的,我们通过数据库可以高效的利用数据;而我们对数据的操作就是对数据库中的表的操作。
MySQL基本操作(格式):
登陆
mysql -u root -p
默认没有密码,直接回车,也可以自行修改密码。
操作数据库中的表单时,一定要先use <数据库名>来进入该数据库
查看
查看数据库:show databases; 查看表中全部记录:show tables; 查看表中某字段的数据:show <字段名一,字段名二....> from <表名>; 查看某记录:select <字段一,字段二...> from <表名> where <查询条件>;创建
创建数据库:create databases <数据库名>; 创建表单:create table <表名>;排序
按照某字段升序排列:select * from <表名> order by <字段名> limit <待排列的记录数>; 降序排列:select * from <表名> order by <字段名> desc limit <待排列的记录数>;插入
插入记录:insert into <表名> values('','','',....); 插入某一字段:insert into <表名> <字段名>;删除
删除未被外键关联的表:drop table if exists <表名>; 删除已经外键关联的表:先删除子表再删除父表 删除表中的某一条记录:delete from <表名> where <字段=值>; 删除表中的某一字段:alter table <表名> drop <字段名>; 删除外键约束:alter table <表名> drop foreign key <外键名>修改
修改表名:alter table <旧表名> rename to <新表名>; 修改表中的字段名:alter table <表名> modify <旧字段名> <新字段名> <数据类型>; 修改表中字段的数据类型:alter table <表名> modify <字段名> <新数据类型>; 修改表中字段的顺序:alter table <表名> modify <字段名> <数据类型> first/after <字段名>; 修改表中某一记录某一字段的值:update <表名> set <字段名>=<新值> where <查询条件>;设置约束关系
主键,又称主码,主键约束就是作为主键的字段在记录中是唯一存在的,不可重复,并且也不许为空。就像我们每个人都有自己唯一的身份ID一样,唯一标识。利用这个特性,我们可以在数据库中快速的查询定位到一条记录。
- 设置主键:创建表的时候,在定义字段以及数据类型的后面直接加上primary key (默认值);或者在定义完所有的字段以及数据类型后,加上primary key (<字段名一,....>)
外键,表中的一个或多个字段,可以不是本表的主键,但必须是另一个表的主键。外键用来在两个表中建立连接关系,对于有关联关系的两个表而言,相关联字段中主键所在的表为父表,外键所在的表为子表。
- 设置外键:在表中所有字段都定义后,加上constraint <外键名> foreign key <本表中的字段名> references <关联的外表名(外表的字段名)>;
心得
约束关系:
在两个相关联的表中,一个表的主键是另一个表的非主键字段,这个字段中的值可能有很多。就拿学生选课来说,某一个课程可能有很多学生选,学生的主键是学号,那么该课程的表中,学号这一外键就会有很多值,同时,也把课程的数据表和学生的数据表关联了起来。
呐,在这个例子中,课程的表就是子表,学生的数据表就是父表。倘若,父表的值改变了,那么一定需要修改子表的值,而子表想去修改外键的值是没有权限的;但是,子表可以删除带有外键值的记录。这之中就有一种很明显的约束关系。