MySQL自学记录--基本操作语言(DDL/DML/DQL/DCL)

一.  SQL

 SQL:Structured Query language 结构化查询语言。定义了操作所有关系型数据库的规则
 *
 * 通用语法
 *      1.语句可以单行或多行书写,以分号结尾
 *      2.使用空格和锁紧增强语句的可读性。
 *      3.MySQL数据库中sql语句不区分大小写,关键字建议用大小写。
 *      4.注释:
 *              单行注释:   --注释内容  #注释内容
 *              多行注释:   /**/


 * 分类
 *      1.DDL 数据定义语言,定义数据库对象:数据库,表,列。 关键字:create,drop,alter
 *      2.DML 数据操作语言,表中数据增删查改。 关键字:insert delete,update
 *      3.DQL 数据查询语言,查询数据库中标的记录。 关键字:select,where
 *      4.DCL 数据控制语言,用来定义数据库访问权限和安全级别,创建用户。 关键字:Grant ,Revoke

 

二.  DDL

1.数据库操作C(Create)R(Retrieve)U(Update)D(Delete)


 *    创建:
 *          create database db-name (character set 字符集名);
 *          create database if not exists db-name;
 *     查询:
 *          show database db-name;
 *          show create database db-name;查询数据库字符集
 *     修改:
 *          alter database db-name character set 字符集名称;
 *     删除:
 *          drop database db-name;
 *     使用数据库:
 *          select database();
 *          use db-name
 *

 2.表操作

 *      创建:
 *          create table 表名(
 *              列1 数据类型1,
 *              列2 数据类型2,
 *              ...
 *              列n 数据类型n
 *          );
 *
 *      查询:
 *          show tables;
 *          desc 表名;查询表结构
 *      修改:
 *          表名:alter table 原列名 rename to 新列名;
 *          字符集:alter table 表名 character set 字符集名称;
 *          添加列:alter table 表名 add 列名 数据类型;
 *          修改列名:alter table 表名 change 原列名 新列名 字符集名称;
 *          修改列类型:alter table 表名 modify 列名 字符集名称;
 *          删除列:
 *      删除:
 *          drop table 表名;
 *          drop table if exists 表名;

 

三.  DML

DML:增删改表中数据
 *      1.添加数据
 *          insert into 表名(列名1,列名2..列名n) values (值1,值2,值n)
 *          除了数字类型其他类型需要使用引号引起来
 *      2.删除数据
 *          delete from 表名 where 条件
 *          不加条件,则删除所有记录
 *          删除表: Truncate table 表名;
 *      3.修改数据
 *          update 表名 set 列名1=value1,列名2=value2... where 条件

 

四.  DQL

DQL:查询语句
 * 查询语法:
 *      select 字段 from 表 where 条件 group by 分组字段 having 分组条件 order by 顺序 limit 分页限定
 *去除重复结果集
 *      distinct  SELECT DISTINCT sex FROM stu
 *常用运算符:
 *      A or B or C =in (A,B,C)
 *      like模糊查询:  _ 单个任意字符    % 多个任意字符
 *判断null:
 *      ifNUll(为null值,替代值)
 *      
 *      1.排序查询:order by
 *      2.聚合函数:排除null.  sum count min max avg
 *      3.分组查询: group by
 *                          查询字段:分组字段(group by后分组的字段),聚合函数
 *                          where 与 having:
 *                               1)where 分组前限定,having分组后限定
 *                               2)having可对聚合函数进行判定。
 *      4.分页查询:limit 开始的索引,每页查询的条数
 *                           公式:开始的索引=(当前页码-1)*每页显示的条数

 

五.  DCL

DCL:管理用户,授权。
 * 1.管理用户:
 *      用户添加
 *          create user ‘username’@'host' identified by 'password'
 *      用户删除
 *          Drop user 'username'@'host'
 *      修改用户密码
 *          Update user  set password =password('new pw') where user='username'
 *          set password for 'username'@'host' = password('new pw')
 *          忘记root密码
 *              net stop mysql              --以管理员身份停止mysql服务
 *              mysql --skip-grant-tables   --使用无验证启动mysql
 *              修改用户密码,关闭服务。
 *              打开服务 net start mysql;根据新密码启动数据库
 *      查询用户
 *          use mysql;
 *          select * from user
 * 2.授权
 *      查询权限
 *              show grants for 'user'@'host'
 *      授予权限:
 *              grant 权限列表 on 数据库名.表名 to 'user'@'host'
 *              最高权限:GRANT ALL ON *.* TO 'user'@'host'
 *      撤销权限:
 *              revoke 权限列表 on 数据库名.表名 from 'user'@'host'

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值