数据库操作(DDL)
创建数据库(在磁盘上创建一个对应的文件夹)
create database [if not exists] db_name [character set xxx]
查看数据库
show databases;查看所有数据库
show create database db_name; 查看数据库的创建方式
修改数据库
alter database db_name [character set xxx]
切换当前工作的数据库
use db_name;切换数据库
select database();查看当前使用的数据库
数据表操作
创建表
create table tab_name(
field1 type[完整性约束条件],
field2 type,)
约束:
- primary key (非空且唯一) :能够唯一区分出当前记录的字段称为主键!
- unique
- not null
- auto_increment 主键字段必须是数字类型。
- 外键约束 foreign key */
查看表信息
desc tab_name 查看表结构
show columns from tab_name 查看表结构
show tables 查看当前数据库中的所有的表
show create table tab_name 查看当前数据库表建表语句
修改表结构
增加列
alter table tab_name add [column] 列名 类型[完整性约束条件][first|after 字段名];
例如:alter table user add addr varchar(20) not null unique first/after username;
修改一列类型
alter table tab_name modify 列名 类型 [完整性约束条件][first|after 字段名];
修改列名
alter table tab_name change [column] 列名 新列名 类型 [完整性约束条件][first|after 字段名];
删除一列
alter table tab_name drop [column] 列名;
修改表名
rename table 表名 to 新表名;
删除表
drop table tab_name;
添加主键,删除主键
alter table tab_name add primary key(字段名称,…)
alter table users drop primary key;
唯一索引
alter table tab_name add unique [index|key] 索引名称
表记录增删改
插入(insert)
insert [into] tab_name (field1,filed2,…….) values (value1,value2,…….);
更新(update)
update tab_name set field1=value1,field2=value2,……[where 语句]
删除行(delete)
delete from tab_name [where ….]
delete只能用来删除一行记录
delete语句只能删除表中的内容,不能删除表本身,想要删除表,用drop
TRUNCATE TABLE也可以删除表中的所有数据,词语句首先摧毁表,再新建表。此种方式删除的数据不能在事务中恢复。*/
查(select)
select [distinct] *|field1,field2,…… from tab_name
select 也可以使用表达式,并且可以使用: 字段 as 别名或者:字段 别名
使用where子句,进行过滤查询。
Order by 指定排序的列,排序的列即可是表中的列名,也可以是select 语句后指定的别名。
group by 分组查询:
聚合函数
Mysql在执行sql语句时的执行顺序:
from where select group by having order by