基础语句
- 创建数据库
create database 库名 character set = utf8 collate = utf8_bin;
- 删除数据库
drop database 库名;
- 创建表
mysql> create table 表名 ( #设置主键,目的为不重复创建相同的数据
-> ID bigint not null primary key,
-> Name varchar(1000),
-> University varchar(10000),
-> Secort varchar(100))
-> charset=utf8;
- 查询表中所有数据
select * from 表名;
- 创建用户
create user '用户名'@'localhost' identified by "密码"; #创建本地用户
create user '用户名'@'ip地址' identified by "密码" #创建远程用户
create user '用户名'@'192.12.23.%' identified by "密码" #创建网段用户
- 删除本地用户
drop user '用户名'@'ip地址';
- 修改用户
rename user '用户名'@'IP地址' to '新用户名'@'新IP地址';
- 修改密码
set password for '用户名'@'ip地址' = Password("新密码");
- 增加字段
alter table 表名 add 字段名 数值类型;
- 删除字段
alter table 表名 drop 字段名;
- 更改数值类型
alter table 表名 modeify 字段名 数值类型;
- 更改字段名
alter table 表名 change 旧字段名 新字段名 数值类型;
- 更改表名
alter table 旧表名 rename 新表名;
- 显示该表的属性
desc 表名;
- 插入数据
insert into 表名(字段名1,字段名2) values(数据1,"数据2");
- 查询数据
select * form 数据名.表名;
- 更改数据
update 表名 set 字段名=('数据') where 条件;
- 删除数据
delete from 表名 where 条件;
- 赋权
grant all privileges on 库名.* to '用户名'@'ip' ; #所有权限
- 取消权限
revoke 权限 on 库名.* from '用户名'@'IP地址';
- 查看权限
show grants for '用户名'@'IP地址';
实用语句
- 嵌套子查询
select * from 表名 where 字段名 in (select 字段名 from where 条件);
- 查询名字以王开头的数据
select * from 表名 where name like '王%';
- 查询名字以王开头,后续只有一个字的数据
select * from 表名 where name like '王_';
- 查询前10行
select * from 表名 where limit 10;
- 查询从第3行后的后3行
select * from 表名 where limit 3 , 3;
- 根据年龄降序排序
select * from 表名 order by age desc;
- 根据年龄升序排序
select * from 表名 where age asc;
- 分组查询
select * from 表名 group by 组名;
- 左外查询:查询两个表中共有的元素和左表全部的元素,左表有而右表没有的用NULL代替
select * from user u left join emolument e on u.id = e.id;
右外连接更改left为right
- 联合查询:联合查询可以将多个查询的结果合并成为一个结果
select u1.name from user1 u1 where sex = '男'; UNION select u2.name from user2 u2 where sex = '女'; #使用UNION查询会自动去重,使用UNION ALL查询,不会去重