1.库
- 显示所有数据库:show databases;
- 创建库:create database 库名;
- 显示建库语句:show create database 库名;
- 创建库时设置默认字符集:
create database 库名 default character set 字符;(utf8,gbk)
- 删除数据库:drop database 库名;
- 选定操作的数据库:use 库名;
2.表
1) 显示库中所有表:show tables;
2) 创建表:
create table 表名(
列名1 数据类型(长度) [约束],
列名2 数据类型(长度) [约束],
)
3) 显示建表语句:show create table 表名;
4) 查看表结构:desc 表名;
5) 删除表:drop table 表名;
3.insert语句:
全表插入--要求字段一一对应,数量也要匹配
insert into 表名 values(值1,值2...);
insert into emp values(1,'lucy','cook',1,'2017-12-13',8000,1000,1);
全字段插入数据
insert into 表名(列1,列2...) values (值1,值2....);
insert into emp(empno,ename,sal) values (2,'hanmeimei',1200);
批量插入insert into t_item (id,title,price,num)values(8,'mac',12888,12),(189, '小pad',3888,188);
4.select语句:
1) 查询: select * from 表名;
2) 查询当前时间:select now() from dual;
5.update语句:(修改数据)
update 表名 set 字段名 = 值 where 条件(empno=1);
例子:
修改所有18888为28888
update hero set money=28888 where money=18888;
修改30岁的人名为呵呵
update person set name='呵呵' where age=30;
6.delete语句:(删除一条数据)
1).delete from 表名 where 条件;
DELETE FROM book WHERE bname IS NULL;(删除是null的不用“=”号,用“is”)
2).truncate table 表名 清空整张表(删除后恢复不了,效率高)
运行机制:把整张表删除,创建一张一模一样的空表。
3).delete from 表名 (可以回滚取消删除)
7.alter
- 修改表名:rename table 原表名 to 新表名;
- 修改表的引擎和字符编码:
alter table 表名 engine=xxx,charset=xxx; (engine=myisam/innodb)
3.添加表字段:
alter table 表名 add 字段名 数据类型 位置(first,after);
(添加字段不写位置就是添加到末尾)
最后面格式:alter table 表名 add 字段名 字段类型;
最前面格式:alter table 表名 add 字段名 字段类型 first;
某字段后面:alter table 表名 add 字段名 字段类型 after 字段名;
alter table person add gender varchar(5);
alter table person add id int first;
alter table person add salary int after name;
4.给字段改名:
alter table 表名 change 原列名 新列名 数据类型;
alter table person change id pid int;
5.给字段加数据结构:
alter table 表名 modify 列名 数据类型;
6.修改字段顺序:
alter table 表名 modify 字段1 数据类型 after 字段2;
7.删除表字段(字段==列):
alter table 表名 drop 字段名;
alter table person drop salary;
8.sql分类:
- DDL数据定义语言
- 负责数据结构定义与创建数据库对象的语言
- 常见create alter drop truncate
- 特点 DDL不支持事务 DDL语句操作的命令无法回滚(rollback)。
- DML数据操作语言
- 负责对数据库中更改数据操作的命令
- insert update delete
- 误区,其实select-->也属于DML
- 把增查改删称为CRUD
- DML语句支持事务,在非自动提交模式时,可以rollback回滚。
- insert update delete--->mysql 默认自动commit
- DQL数据查询语言
- data query language
- 用于查询表内数据的指令select
- dql是工作使用最多的指令。
- TCL事务控制语言
- Transaction control language
- 负责数据库中事务支持的语言,包括commit,rollback,savepoint等
- DCL数据库控制语言
- 用于管理数据库的授权和角色
- DCL包括grant revoke等
9.数据库数据类型:
1.整数:
- tinyint 1字节
- smallint 2字节
- int 4字节
- bigint 8字节
2.浮点数:
float(m,d)
double(m,d)
decimal(m,d)
m为这个数的总长度,d为小数点后面几位