1.数据库相关指令
展示所有数据库:show databases;
查看当前使用的数据库:select database();
创建一个数据库:create database 数据库名字;
使用一个数据库:use 数据库名字;
删除一个数据库:drop database 数据库名字;
在装好的mysql中有四个基本的数据库:information_schema、 mysql、performance_schema和sys,练习使用时最好不要使用这四个系统自带的数据库,最好新建一个,作为练习使用。
2.表指令
查询当前数据库中所有的表:show tables;
创建一个表:create table 表名(列名 类型 约束信息);
查看表的信息:desc 表名;
删除表:drop table 表名;
添加内容:alter table 表名 add 列名 类型 约束信息;
删除列:alter table 表名 change 原始列名 新列名 类型 约束信息;
修改表名:rename table 原始列表 to 新表名;
创建表之前要先选择一个当前的数据库。
3.数据指令
查询数据:1.查询表的所有信息:select * from 表名;
2.按照所选则的列查询:select 列1,列2...from 表名;
3.条件查询:select * from 表名 where 条件;
插入数据:1.全部插入:给每一列赋值:insert into 表名 values();
插入多行:insert into 表名 values(),(),()......;
2.缺省插入:i.指定列指定值,有默认参数可以省略:
insert into 表名(列1,列2) values(值1,值2);
插入多行:insert into 表名(列1,列2) values(),(),()......;
ii.只能写入一行:insert into 表名 set 列1=值1,列2=值2...;
修改数据:update 表名 set 列=值,列2=值2 where 条件;
注意加上条件,不加条件会修改整个列表
删除数据:delete from 表名 where 条件;
注意加上条件,不加条件会清空整个表
列约束:1.主键约束:primary key
创建方式:创建表时直接在约束类型中写上primary key
也可以在写完所有列后写上:primary key(键名)
作用:使用主键约束,可以确保数据库表中的每一行都有唯一标识,并且不会出现重 复或空值,从而维护数据的完整性和准确性。
2.非空:not null
3.自增长:auto_increment
作用:插入新记录时会自动为该列生成一个唯一的递增值。通常用于创建主键列,
以确保每条记录都有一个唯一标识符,避免了手动管理主键值的复杂潜在的错误。
4.唯一:unique
5.外键:foreign key,
用于建立表与表之间关联关系的约束,定义了一个表中的列(或多列)与另一个表的主键或唯一键之间的关系。外键用于确保数据的一致性和完整性,以及维护表与表之间的引用关系。
创建表时添加:create table 表名 (列...... constraint 外键名 foreign key(外键列名) references 主表(主键) on cascasde on delete cascasde;
创建表之后添加:alter table 表名 add constraint 外键名 foreign key(外键列名) references 主表(主键) on update cascade on delete cascade;
删除外键:alter table 表名 drop foreign key 外键名;
外键的修饰选项:CASCADE:级联,修改主表时,与主表关联的外键的表也进行更新
REATRICT:拒绝,修改主表时,与主表关联的外键的表的内容不变
小结
本文数据库的相关指令是在命令行窗口执行的,另外,数据库指令的最后不要忘了分号。