1).操作数据库:CRUD
1. C(Create):创建
//创建数据库
*create database;
//判断数据库是否存在,不存在则创建
*create database if not exists;
//创建数据库,指定字符集
*create database 数据库名 character set gbk;
//判断数据库是否存在,不存在则创建,并且制定字符集为gbk
*create database if not exists db4 character set gbk;
2. R(Retrieve):查询
//查询所有数据库的名称
*show database;
//查询某个数据库创建语句
*show create database 数据库名;
3. U(Update):修改
//修改数据库
*alter database 数据库名 character set 字符集名
//
4. D(Delete):删除
//删除数据库
*drop database 数据库名
//判断数据库是否存在,存在删除
*drop database if exists 数据库名
5. 使用数据库
//查询数据库名称
*select database();
//使用数据库
*use 数据库名;
2).操作表:CRUD
1. C(Create):创建
//创建表
*create table 表名(
列1 数据类型1,
列2 数据类型2
....
列名n 数据类型n
)
//创建新表并复制以前得表
*create table 创建表名 like 被复制的表名
2. R(Retrieve):查询
//查询某个数据库表中所的表名
*show tables;
//查询表结构
*desc 表名;
3. U(Update):修改
//修改表名
*alter table 表名 rename to 新名字;
//修改表字符集
*alter table 表名 character set 字符集名;
//添加新的列
*alter table 表名 add 列名 数据类型;
//修改列 名,类型
*alter table 表名 change 旧列名 新列名 新数据类型;
*alter table 表名 modify 列名 新数据类型;
//删除列
*alter table 表名 drop 列名;
4. D(Delete):删除
//删除表
*drop table 表名;
DML 操作表的数据 ,增删改
1. 添加数据
* insert into 表名(列1,列2) values(值1,值2)
* insert into 表名 values(所有列)
2. 修改数据
* update 表名 set 列名1=值1,列名2=值2,... [where 条件] 注:不加条件会修改所有
3. 删除数据
//删除表
* delete from 表名 [where 条件]注:不加条件会删除所有
//删除表,再创建一个一模一样的空表
* truncate table 表名
DQL 查询语句
1. 语法:
* select 字段列
from 表名
where 条件
group by 分组字段
having 分组之后的条件
order by 排序
limit 分页
2.基础查询
1. 多个字段查询
* select 字段1,字段2... from 表名
2.去重查询
* distinct
3.计算列
* ifnull(表达式1,表达式2):
表达式1:判断字段是否为null,如果是null后面则替换值
4.起别名
* as:
select 列1 as 别名1 from 表名
3.条件查询
1.where后面跟条件
2.运算符
* > 、< 、<= 、 >= 、= 、<>
* BETWEEN...AND
* IN(集合)
* LIKE
* IS NULL
* and 或 &&
* or 或 ||
* not 或 !
列:
模糊查询:
select * from stu where name like"张%" 查询姓张的人
DCL(授权)
//进入mysql库
USE mysql;
//查看所有用户
select * from USER;
//创建新用户
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
//删除用户
DROP USER '用户名'@'主机名';
//修改用户密码
UPDATE USER SET PASSWORD=PASSWORD('新密码') WHERE USER='用户名';
SET PASSWORD FOR '用户名'@'主机名' =PASSWORD('新密码');
//忘记root密码
1.net stop mysql 停止服务【管理员(电脑)身份运行】
2.使用无验证方式启动服务,mysqld --skip-grant-tables
3.再打开一个新窗口,输入mysql 回车,直接登录
4.然后 use mysql -> UPDATE USER SET PASSWORD=PASSWORD('新密码') WHERE USER='用户名';
5.然后可以去重新打开正常服务.(需要验证登录的服务)
//管理权限
1.查询权限
show grant for '用户名'@'主机名'
2.授予权限
grant 权限列表 on 数据库.表名 to '用户名'@'主机名'
grant all on 数据库.表名 to '用户名'@'主机名' //所有权限
grant all on *.* to '用户名'@'主机名' //赋予所有库所有表的所有权限
grant select on school.stuent to 'zhangsan'@'%'
注:zhangsan只能查看student表,'%' 所有的主机
3.撤销权限
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名'
DDL操作数据库,表1).操作数据库:CRUD1. C(Create):创建 //创建数据库 *create database; //判断数据库是否存在,不存在则创建 *create database if not exists; //创建数据库,指定字符集 *create database 数据库名 character set gbk; //判断数据库是否存在,不存在则创建,并且制定字符集为gbk *create database if not exists db4 chara