创建表
格式:
creat table [if not exists] tablename(
`列名` 类型 [属性] [索引] [注释],
`列名` 类型 [属性] [索引] [注释]
)engine= [innodb|myisam] [字符集类型][注释]
样例:
CREATE TABLE IF NOT EXISTS table_name(
`id` INT(5) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(20) NOT NULL DEFAULT '匿名' COMMENT '姓名',
PRIMARY KEY ( `id` ),
)ENGINE=INNODB DEFAULT CHARSET=utf8
引擎
innodb | mysiam | |
---|---|---|
事务支持 | 支持 | 不支持 |
数据行锁定 | 支持 | 不支持 |
外键约束 | 支持 | 不支持 |
全文索引 | 不支持 | 支持 |
表空间 | 较小 | 较大 约2倍 |
物理存放 | *.frm和上级目录下的iddata | 表定义文件(.frm)、数据文件(.MDY)、索引文件(*.MDI) |
参考 |
修改表
样例:
ALTER TABLE table_name RENAME AS table_name2 重命名表
ALTER TABLE table_name2 ADD age INT(3) 添加属性
ALTER TABLE table_name2 MODIFY age VARCHAR(3) 修改约束
ALTER TABLE table_name2 CHANGE age age1 INT(3) 重命名属性
ALTER TABLE table_name2 DROP age1 删除属性
DROP TABLE IF EXISTS table_name2 删除表
ps: modify 不能修改列名,change可以
外键
格式:
[CONSTRAINT 约束名]foreign key('cloumn_name') references out_table("out_cloumn_name")
样例:
方式一:
create table if not exists table_name(
`id` int(5) not null auto_increment comment '学号',
`name` varchar(20) not null default '匿名' comment '姓名',
PRIMARY KEY ( `id` ),
foreign key (`id`) references admin_user(admin_id)
)engine=innodb default charset=utf8
方式二:
ALTER TABLE table_name
ADD foreign key (`id`) references admin_user(admin_id)
Insert
格式:
insert into table([字段][字段][字段]..) values('值1','值2'...),(...)
insert into table values('值'....)
样例:
INSERT INTO table_name VALUES(2,'zhangsan')
INSERT INTO table_name (id) VALUES(3)
Update
格式:
update table set 字段='',字段=''.... where 条件
样例:
UPDATE table_name SET `name`='hello' WHERE id=2
ps :没有where条件则修改所有的表数据
where条件
- 条件之间可以通过and or 连接
- 用 > < = >= <= between... and
- 模糊查询like % 任意 _ 单个字符 (例: where name like '刘%' 查询姓刘的)
join
Select
格式:
select [distinct] 字段名 as 别名
from table1 as 别名,table2
left|right|inner join tablename2 on
where 条件
group by 分组字段
having 条件
order by 根据字段排序
limit x 第x页 y 一页y条数据
样例:
select * from student 查询学生表的全部信息
select sno from student 查询学生表的学号(sno)字段
select sno as 学号 from student 取别名
select distinct sno from result 去重
select version() 查数据库版本
select 100*3-1 as 计算结果 用于计算
select @@auto_increment_increment 查自增步长
Delete
格式:
delete from table where 条件
样例
delete from table where id=1;
ps:
- innodb 删除后自增从1开始
- myisam 删除后从上一个自增量开始
Truncate
格式: 清空数据,保留表结构
truncate table
ps: 重置计数器
函数
concat 拼接字符
select concat("姓名:",stuname) as 学生姓名 from stu