mysql :sql分类

DDL操作数据库,表

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 '用户名'@'主机名'
	
	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值