SQL
SQL语言 Structured Qurey Language 结构化查询语言
作用: 1 管理数据库
2 管理表
3 管理数据
组成部分:
注:以下代码均为英文半角,请注意,勿直接复制代码,有些在书写时有遗漏,请自行更改
语法
1 语句以分号结尾
2 不区分大小写 (Linux下区分)
3 注释 /*注释的内容*/
4 数据类型 int 整型 数字 (例如age) double 浮点型(例如小数) varchar 字符(后面需加字符长度) datetime日期类型
注:其余数据类型自行了解
DDL 数据定义语言 :用于定义数据库,表,视图,索引和触发器等,是定义语言
常用关键字 :create创建 database数据库 show显示 select 查询 select from表名:查询指定表中所有数据 character set字符集 drop database 删除数据库
table 表 drop table删除表 alter 修改 change 改变 update 更新 where 条件
1 create database mysql_table; 建立一个名为mysql_table的数据库
2 use mysql_table; 使用库名为mysql_table的数据库
3 show databases 查询所有的数据库 注:database是复数
4 show create database mysql_table 查看名为mysql_table的数据库
5 select database()查看正在使用的数据库
6 create database mysql_table default character set utf8; 数据库mysql_table字符集设为utf8
7 drop database mysql_tabe; 删除名为mysql_tabe的数据库
8 create table table_name(id int primary key auto_increment ,two varchar,three varchar);; 建立一个名为table_name 的结果集(类似一个表)括号内为列名加数据类型,多个以逗号 隔开,最后一个列名不加逗号,primary key 表示主键约束 auto_increment 表示自增长
9 alter table table_name add column four varchar(20);添加列,列名为 four 数据类型varchar字符 长度20 注:column可以不加,建议加上更规范
10 alter table table_name change four five int(60);替换列名,前旧four后新five
11 alter table table_name rename to table_name_two;替换新表名为 table_name_two
12 alter table table_name_two modify five int(50);修改列的数据类型和长度
13 alter table table_name_two default character set utf8; 同数据库一样,改字符集为utf8
14 show tables; 查看所有表和数据库的查看一样,tables为复数
15 desc sort;查看表结构 包含字符集格式
16 drop table table_name_two;删除名为 table_name_two的结果集
DML操作语言 进行数据的更新操作
常用关键字 : insert into 插入 update 更新 truncate table 截断表(删除表数据) delet 删除 where 条件
1 insert into table_name values (null, '姓名','年龄',' 13 ')向结果集中插入所有列的数据 注:values复数
2 insert into table_name(id , two , three ,five) values (1, '姓名','年龄',' 13 ')向特定某些列插入数据
小技巧
批量写入insert into table_name(id , two , three ,five) values (1, '姓名','年龄',' 13 '),(1, '姓名','年龄',' 13 '),(1, '姓名','年龄',' 13 ')
多个值写入,用逗号隔开
3 update table_name_two set two = 'six',three='seven' where id=2; 更新表记录 主键约束id=2(具有唯一性,非空)列名为two的更新值为six,操作行,除int外,其他数据类型需加单引号
4 delet from table_name ;全表删除(数据,不会删除约束)
5 truncate table table_name;全表删除(包括约束,删除数据不能回滚)
6 delet from table_name where id = 2;删除id=2的数据(删除特定数据) 推荐
DQL: 数据检索 查询语句 从表中获得数据,确定数据怎样在应用程序给出
关键词: select from 查询 where 条件 distinct 不同的
逻辑运算: and (与)条件都要成立 or (或)成立一个条件即可 not 不成立 例: where not (salary > 100)
比较运算: > 大于 < 小于 >= 大于等于 <=小于等于 <>不等于 = 等于 between 数据1 and 数据2 (等价于>=且<=)
in (set) 显示在in列表的值,也是一个区间值 like 模糊查询(%和_) is null 判断是否为空
1 select * from table_name;查询整个表的所有列
2 select id ,two,three from table_name;查询指定列 (列用逗号隔开)
3 select distinct two from table_name ; 查询去掉 two列的重复记录
4 select 列名 as ' 常量 ' from 表名 ; 给列名起一个别名,便于理解
5 select 列名 , (列名1 + 列名2+列名3 ) from table_name ; 查询时合并列 注(合并的列数据类型相同,主要用于成绩,总金额)sql可以进行简单的计算
6 selsct distinct 列名 from table_name ; 查询时去除重复列显示(常用于查询学生所在地)
7 select * from table_name where id= ' 姓名 ' ; 按条件查询
待续...