C(Create):创建 创建数据库: create database 数据库名称; 创建数据库,先判断不存在再创建 create database if not exists 数据库名称; 创建按数据库,并且指定字符集 create databse 数据库名称 character set 字符集; 创建数据库,先判断不存在,然后创建,再设定字符集 create database if not exists 数据库名称 character set 字符集;
R(Retrieve):查询 查询所有的数据库: show databases; 查询某个数据库的字符集,查询某个数据库: show create database 数据库名称;
U(Update):修改 修改数据库的字符集 alter database 数据库名称 character set 字符集;
D(Delete):删除 删除数据库 drop database 数据库名称 判断数据库存在,然后再删除 drop database if exists 数据库名称;
使用数据库 查询当前正在使用的数据库名称 select database(); 使用数据库 use 数据库名称;
varchar:字符串类型 name varchar() 练习: create table( id int, name varchar(32), age int , score double(4,1),–四位,保留一位小数 birthday date, insert_time timestamp );
复制表 create table 表名 like 被复制的表;
R(Retrieve):查询 查询数据库表 先使用表,use 数据库名; show tables; 查询表结构 desc 表名;
运算符 *. > .<.<=. >=,=, <> 或 != BETWEEN …AND [1,2] IN(集合) (1,2) LIKE ‘周%’ ‘_迎%’ ‘_ _ _’ 占位符: _ 表示单个字符 % 表示多个字符 IS NULL IS NOT NULL and 或 && or 或|| not 或!
排序查询 语法: order by 子句 order by 字段1 排序方式1,字段2 排序方式2 .。。。。 排序方式: ASC:升序 DESC:降序 注意: 有多个排序条件时,当前面条件值相同时,才会按照后面的排序
语法: select from 表名 group by 组名; 注意: 分组之后查询字段:分组字段,聚合函数 where和having的区别: where是在分组之前限定,如果不符合条件不参与分组 having是在分组之后进行判断的,如果不满足结果,则不会被查询 where之后不可以跟聚合函数,having之后可以跟聚合函数
分页查询
语法:limit 开始的索引,每一页查询条数;
公式:开始的索引=(页码-1)*每页的数量 注意:limit是MySQL特有的
DCL 管理用户,授权
该部分是数据库管理员,DBA的权限
1.管理用户
1.添加用户
语法:create user ‘用户名’@‘主机名(通长为localhost或者%)’ identified by ‘密码’;
2.删除用户
drop user ‘用户名’@‘主机名’;
3.修改用户密码
update user set password = password(‘新密码’) where user=‘用户名’;
set password for ‘用户名’@‘主机名’ = password(‘新密码’);
如果忘记MySQL的root用户密码周末办?
1.cmd-->net stop mysql; 关闭MySQL服务,必须用管理员身份运行cmd
2.使用无验证的方式启动mysql服务:mysqld --skip-grant-tables;
3.打开新的cmd窗口,直接输入mysql命令,就可以登录mysql
4.use mysql;
5.update user set password = password(‘新密码’) where user=‘root’
6.关闭两个窗口,打开任务管理器,结束mysqld进程
7.启动mysql服务
8.使用新密码登录
4.查询用户
1.首先切换到mysql数据库表
use mysql;
2.查询user表
select *from user;
% 为通配符,%标识可以在任意主机上使用用户密码登录数据库
2.授予权限
1.查询权限
show grants for ‘用户名’@‘主机名’;
2.授予权限
grant 权限列表 on 数据库名.表名 to ‘用户名’@‘主机名’;
如果是授予用户所有权限在所有数据库表中
grant all on *.* to ‘用户名’@‘主机名’;
3.撤销权限
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名'
SQL语言DDL:操作数据库,表操作数据库:(CRUD)C(Create):创建创建数据库:create database 数据库名称;创建数据库,先判断不存在再创建create database if not exists 数据库名称;创建按数据库,并且指定字符集create databse 数据库名称 character set 字符集;创建数据库,先判断不存在,然后创建,再设定字符集create database if not exists 数据库名称 character s