DDL
创建一个数据库
create database if not exists db5; – 创建一个数据库
create database if not exists db6 character set gbk; -- 创建一个数据库判断他是否存在,并且制定gbk字符集
查看库
show databases; – 查看所有的数据库
show create database db1; -- 查看此数据库的字符集;也可以说成是查询某个数据库的创建语句;
修改库
alter database db1 character set gbk; – 修改数据库的字符集
删除库
drop database if exists db1; – 删除数据库
使用库
select database(); – 查看当前使用的数据库
use db2;-- 使用数据库
/————————————————————————————–/
查询表
show tables; -- 查看当前数据库里的所有表
desc student; -- 查看表结构
创建表
create table stu(
uname varchar(30), – 姓名
uage int, – 年龄
uaddress varchar(30), – 地址
ubirthday date, – 出生年月
utime timestamp – 创建表时间 最后一列,不需要加逗号.
);
删除表
drop table student; – 删除表
drop table if exists stu; – 删除表
复制表
create table student like stu; – 复制表
修改表
1. 修改表名
alter table 表名 rename to 新的表名;
2. 修改表的字符集
alter table 表名 character set 字符集名称;
3. 添加一列
alter table 表名 add 列名 数据类型;
4. 修改列名称 类型
alter table 表名 change 列名 新列别 新数据类型;
alter table 表名 modify 列名 新数据类型;
5. 删除列
alter table 表名 drop 列名;
DML:
/* 给表中添加数据*/
insert into student(表名)
(uname,uage,uaddress,ubirthday,utime)
values(“张三”,13,”北京”,null,null),;
删除数据
delete from student where uname=”张三”; – 根据条件删除表中的数据
delete from student;– 删除整个表,但只会一条一条的去删,而且主键不会自动归0;
truncate table student; – 率更高 先删除表,然后再创建一张一样的表。清空主键增长的记录
修改数据
update student set uname=”李四”,uage=18 where id=1; 根据id从而修改表中的数据
update student set uname=”李四”; – 默认把表中所有的uname修改成为李四
DQL:
查看
select * from student; – 查看表中的数据
select distinct uage,uname from student; – 指定字段去除重复的结果;
select uame,uage,uame+ifnull(uage,0) from student ; -- 指定字段然后让他们进行相加,假设age里有null,则使用ifnull判断给它设置值为0;
select uname,uage 年龄,english 英语,uage+english as 总分 from student ; -- 起别名,再字段后面直接写,实际是省略了as;
条件查询:SELECT * FROM student WHERE age > 20;
模式查询:– 查询姓马的有哪些? like
SELECT * FROM student WHERE NAME LIKE ‘马%’;
– 查询姓名第二个字是化的人
SELECT * FROM student WHERE NAME LIKE "_化%";
-- 查询姓名是3个字的人
SELECT * FROM student WHERE NAME LIKE '___';
-- 查询姓名中包含德的人
SELECT * FROM student WHERE NAME LIKE '%德%';