sql语言的运用

一.SQL使用入门

1.SQL分类

(1)DDL(Data Definition Languages)语句
数据定义语言,通过这类语言可以对数据库进行创建删除更改
(2)DML(Data Manipulation Language)语句
数据操纵语句,用于添加、删除、更改和更新数据库记录并检查数据完整性。
(3)DCL(Data Control Language)语句
数据控制语句,通过此类语句可以对数据库的相关权限进行设置

2.DDL语句

(1)登录MySQL语句:mysql -u root -p
show databases;查看数据库列表
1.创建数据库:create database 数据库名
2.选择要操作的数据库:use 数据库;
3.查看数据库中所有的数据表:show tables;
4.删除数据库:drop database 数据库名;
5.创建表:create table 表名(字段名1 字段类型1 列的约束条件,...)
6.查看表的定义:desc 表名;
7.查看创建表的SQL语句:show create table 表名 \G  (\G选项使得记录能够按照字段竖向排列。
8.删除表:drop table 表名;
9.修改表:
1)修改表的字段类型:alter table 表名 modify[column] 字段定义 [first|after 字段名]
	alter table t1 modify id1 int;
2)增加表字段:alter table 表名 add[column] 字段定义 [first|after 字段名]
	alter table t1 add id1 int;
3)删除表字段:alter table 表名 drop[column] 字段名;
	alter table t1 drop id1;
4)字段改名:alter table 表名 change[column]旧的字段名字 字段定义 [first|after 字段名]
	alter table t1 change id2 id1 int;
5)修改字段排列顺序:alter table t1 modify id1 int [first|after] [column];

6)更改表名:alter table 表名 rename [to] 新的表名;
	alter table t1 rename [to] t2;

3.DML语句

1)插入记录:insert into 表名(字段1,字段2,...)values(值1,值2,...)  
	也可以不用指定字段名,但是values后面的顺序应该和字段的排序一致
2)插入多条记录:insert into 表名(字段1,字段2,...)values(值1,值2,...),(值1,值2,...),...;
3)更新一个表:update 表名 set 字段1=值1,字段2=值2,...[where 条件(字段1=固定值)];
4)更新多个表:update 表1,表2,... set 表1.字段1=值1,表2.字段2=值2,...[where 条件];
5)删除单表中的数据:delete from 表名 [where 条件];

4.查询

简单查询:select * from 表名;
查询不重复记录:select distinct * from 表名;
排序和限制:select * from 表名 where 条件 order by field1[desc|asc],field2[desc|asc],...;
limit 数字1,数字2 数字1代表从第几条开始,数字2表示取几条
select distinct * from 表名 group by department with rollup;
having是对聚合后的结果进行条件过滤
## 其他
create table 表名 (sex enum('man','woman'));
create table 表名 (sex set('man','woman'));
select 语句 where FIND_IN_SET('man','woman');

查看所有可用的字符集:show character set;|show information_schema.character_sets;
查看字符集的校对规则:show collation like '字符集前缀%';
_ci:忽略大小写
_cs:大小写敏感
_bin:二元,字符编码
set names 字符集;可以同时修改3个参数(character_set_client:客户端来源数据使用的字符集、character_set_connection:连接层字符集、character_set_results:返回结果字符集)的值,对本次有效

流程函数
IF(value,t,f);如果value是真,返回t,否则返回f;
IFNULL(value1,value2);如果value1不为null,返回value1,否则value1该是什么还是什么
CASE WHEN [value] THEN [result1]…ELSE[default]END 如果value1是真,返回result1,否则返回default;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值