据库操作:
1)创建数据库:create database数据库名;
2)查看所有数据库:show databases;
3)选中指定数据库:use 数据库名;
4)删除数据库: drop database数据库名;
数据表操作
1)创建表:create table表名(列名 类型,列名 类型,列名 类型...…);(常用类型:int、decimal(M,N)、varchar(N)、datetime)
向数据库中增加新的列:alter table 表名 add 字段名 字段的类型名称(长度)
更改表中数据类型举例:alter table student modify id int primary key;
更改字段名示例:alter table 表名 change 旧字段 新字段 数据类型;
alter table book change auther author varchar(20);
修改表名:alter table 表名 rename to 新的表名;
删除列:alter table 表名 drop 列名;
其中在创建表的时候,会添加一些约束:
数据库约束:
NOT NULL:指示某列不能存储 NULL 值。
UNIQUE:保证某列的每行必须有唯一的值。
DEFAULT :规定没有给列赋值时的默认值。
PRIMARY KEY 是 NOT NULL 和 UNIQUE 的结合,常配搭自增长auto_increment来使用。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
PRIMARY KEY auto_increment(自增主键):
FOREIGN KEY (外键约束):保证一个表中的数据匹配另一个表中的值的参照完整性。
语法:
foreign key(子表的字段名) references 父表(列)
constraint 外键名 foreign key(子表的字段名) references 父表(列)
删除外键:alter table 表名 drop foreign key 外键名
建完表之后添加外键:alter table 表名 add foreign key(子表的字段名) references 父表(列)
注意:如果要删除表的话,只能先删除子表,再删除父表。如果要删除父表的某些数据,当数据已经关联了子表则删除不了,没有关联的则可以删除。
CHECK :保证列中的值符合指定的条件。对于MySQL数据库,对CHECK子句进行分析,但是忽略CHECK子句,MySQL5系列不支持这个约束。
2)查看所有表:show tables;
3)查看指定表结构:desc表名;
4)删除表:drop table表名;
操作数据库最主要的操作就是增删改查(CURD):
C-新增-create(操作磁盘)
U-修改-update(操作磁盘)
R-查询-retrieve (临时表)
D-删除-delete (操作磁盘)
C-新增-create(操作磁盘)
insert into表名values(值,值,值....);
insert into表名(列名,列名,列名......)values (值,值,值..…); 指定列插入
insert into表名values(值,值,值....),(值,值,值....),(值,值,值..)..; 同时插入多行
R-查询-retrieve (临时表)
1.全列查询:select * from表名;
2.指定列查询:select列名from表名;
3.带表达式的查询:select表达式 from表名;
4.带别名的查询:select表达式 as别名from表名;
5.去重查询:select distinct 列名 from表名;
6.排序:select列名from表名order by 列名asc/desc;
7.条件查询:select列名from表名where 条件;(条件:>、<、>=、<=、 =、 !=、 and、 or、not、between and、 in、 like......)
在数据库中,针对分页查询的支持,主要就是通过limit来实现的:limit N,查到的是前N条(第一页)的东西。搭配 offset就可以指定从第几条开始进行筛选了:limit 5 offset 5 表示从第五条记录开始查找五条
U-修改-update(操作磁盘)
update表名set列名=值where条件;
update表名set列名=值, 列名=值, 列名=值......where条件;
update还可以搭配 order by / limit等子句来进行使用。
D-删除-delete (操作磁盘)
delete from表名where 条件;
Where条件也是和update一样,可以支持where order by limit等。