MYSQL的执行操作与语句操作
MYSQL登录 mysql -u用户名 -p用户名;
1 执行操作
1.用户相关操作
1-1使用MYSQL安装时,自定义用户名与密码登录MYSQL
1-2 语句:create user ‘用户名’@‘登录主机’ identified by ‘密码’; 登录主机:localhost-本机 %-任意机
1-3 授权: grant ‘操作权限’ on ‘数据库名’ . ‘表名’ to ‘用户名’@‘登录主机’;操作权限 select insert等所有权-all 所有库表权限-*.*
1-4 修改密码 set password for ‘用户名’@‘主机名’ = password(‘新密码’);
1-5 忘记密码
1-5-1 首先关闭mysql服务
1-5-2 cmd 中 进入 mysql安转路径 **\bin
1-5-3 在该目录下 执行mysqld-nt --skip-grant-tables 窗口卡死保留
1-5-4 新建cmd 输入 mysql 即可进入 mysql
1-5-5 user mysql
1-5-6 update user set password=password(‘新密码’) where user = ‘用户名’
1-6 撤销用户权限 prvoke ‘操作权限’ on ‘数据库名’ . ‘表名’ from ‘用户名’@‘登录主机’;
1-7 删除用户 drop user ‘用户名’@‘登录主机’;
2 DDL 数据定义语言(操作库表结构的语言)
2-1 操作库语言
2-1-1 建库: create database 库名
2-1-2 删库: drop database 库名
2-1-3 链接库: use 库名
2-1-4 查所有库: show databases
2-1-5 查当前库: select database()
2-1-6 查当前库中表信息 show tables;
2-2 操作表语言
2-2-1 建表: create table 表名 (
字段名1 字段类型 限制级条件(可选),
字段名2 字段类型 限制级条件(可选)
);
2-2-2 获取表结构: desc 表名 或者 describe 表名 或者 show columns from 表名
2-2-3 给表中增加字段 alter table 表名 add 字段名 字段类型 限制级条件(可选)
2-2-4 更改表名 rename table 原表名 to 新表名
2-2-5 删除表 drop table 表名
2-2-6 删除表中数据 truncate table 表名 (不可rollback ,表结构恢复到表建立之初)
3 DML 数据操作语言(操作表数据的语言)
3-1 删除数据操作
3-1-1 删除表中所有数据: delete form 表名
3-1-2 按条件删除表中数据: delete form 表名 where 条件
3-2 修改数据操作
3-2-1 修改表中所有字段的值: update 表名 set 需修改字段名 = 修改字段值
3-2-2 按条件修改表中字段值: update 表名 set 需修改字段名 = 修改字段值 where 条件
3-3 查询数据操作
3-3-1 查询表中所有数据: select * from 表名
3-3-2 按字段查询表中数据: select 字段名1,字段名2 from 表名
3-3-3 按条件查询表中数据: select * from 表名 where 条件
3-4 关键字使用
3-4-1 – all – 返回满足条件的所有记录(一般默认为ALL) : select all 字段名1,字段名2 from 表名
3-4-2 –distinct–若多个选择字段的数据相同,只返回一个: select distinct 字段名1,字段名2 from 表名
3-4-3 –distinctrow– 若有重复记录,只返回一个: select distinctrow 字段名1,字段名2 from 表名
3-4-4 –as– 给字段取别名: select 字段名1 as(可省略) 别名 from 表名
3-4-5 –between– 指定某一闭区间: select * from 表名 where 字段名 between 起始范围 and 截止范围
3-4-6 –not between– 与 BETWEEN用法类似,意义相反
3-4-7 –in– 匹配列表中的任意一个值:select * form 表名 where 字段名 in (字段值1,字段值2)
3-4-8 –not in– 与IN用法类似,意义相反
3-4-9 –like– 数据值是否匹配 (通配符)select * from 表名 where 字段名 like 通配值
· ? 任何一个单一字符 like ‘?s’ 匹配 5s,ss等
· * 任意长度的字符 like ‘s* ’ 匹配s123,sabc等
· % 任意字符 like ‘%s’ 匹配abcs,123s s结尾的字符
· # 0~9之间任一数字 like’123-###’ 匹配123-888,123-098等
· [字符列表] 字符列表中的任一值 like ‘[*]’ 匹配123,ab等
· [!字符列表] 非字符列表中的任何值
· - 指定范围的字符 左右为上下限 like ‘[1-9]’ 匹配1-9任一值
3-5 排序 order by
3-5-1 asc 升序(默认 可省略) select * from 表名 order by 排序字段名 asc
3-5-2 desc 降序 select * from 表名 order by 排序字段名 desc
3-6 分组 group by
按照某一个或多个字段进行分组查询 select 分组字段名 from 表名 group by 分组字段
3-7 聚合函数sum,avg,count,max,min
3-7-1 SUM : 总数求和 select sum(数字字段名) from 表名 求该表中 该字段的总和
3-7-2 AVG : 求平均值 select avg(数字字段名) from 表名 求该表中 该字段的平均值
3-7-3 COUNT : 总记录数 select count(字段名/*) from 表名 求该表中 总记录数(条数)
3-7-4 MAX : 求最大值 select max(数组字段名) from 表名 求该表中 该字段的最大值
3-7-5 MIN : 求最小值 select min(数字字段名) from 表名 求该表中 该字段的最小值
3-8 缺 having 关键字
3-9 select 完整语句顺序
select 字段名1 , 字段名2 as 别名2 from 表名 where 条件 group by 分组字段(字段名,字段名2) having 分组条件 group 不要