Mysql语句总结(1)
来源:互联网 发布:excel2013解密软件 编辑:程序博客网 时间:2024/06/03 21:09
DDL 数据库定义语言
用来定义数据库对象:库,表,列等
CREATE ALTER DROP
DML 数据库操作语言
用来定义数据库语言
insert update delate
DCL 数据库控制语言
用来定义访问权限和安全级别
DQL 数据库查询语言
用来查询记录
SELECT
注意sql语句要以 ;结尾
sql语句
1 DDL操作数据库对象:库,表,列等
关键字 CREATE ALTER DROP
1.1.1 创建
CREATE DATABASE mydb1;
创建并设置编码
CREATE DATABASE mydb2 CHARACTER SET gbk;
1.1.2 查询
SHOW DATABASES ;
1.1.3 删除
DROP DATABASE mydb2;
1.1.4修改
查看数据库 并把字符集修改为utf8
ALTER DATABASE mydb1 CHARACTER SET utf8;
1.1.5 其他
查看当前正在使用的数据库
SELECT database();
切换数据库
USE mydb1;
1.2操作数据表
创建表
语法:
creaat table 表名 (
字段1 字段类型
字段2 字段类型
…
字段n 字段类型
)
常用的字段类型:
int 整型
double 浮点 如double (5,2) 表示最多5位 其中最多两位小数
即 最大值999.99
char 固定长度字符串类型 如char(10) 对应值’abc
varchar 可变字符串类型 如 vaichar(10) 对应值’abc’
text 字符串类型
blob 字节类型
date 日期类型 格式yyyy-MM-dd
time 时间类型 格式:hh:mm:ss
timestamp 时间戳类型 格式 yyyy-MM-dd hh:mm:ss 会自动赋值
datatime 日期时间类型 格式 yyyy-MM-dd hh:mm:ss
CREATE TABLE student(
name VARCHAR(10),
age INT,
score DOUBLE
);
查询数据库中的表
SHOW TABLES ;
查询表中的字段信息
DESC student;
在表中增加一列
ALTER TABLE student ADD num INT;
修改num列类型为double
ALTER TABLE student MODIFY num INT;
删除num列.一次只能删除一类
ALTER TABLE student DROP num;
修改表名
RENAME TABLE student to stu;
查看表格的创建细节
SHOW CREATE TABLE stu;
修改表格的字符集
ALTER TABLE stu CHARACTER SET gbk;
修改列名
ALTER TABLE stu CHANGE name username VARCHAR(10);
删除表
DROP TABLE stu;
2,DML(重要)
对表中的数据进行增删改操作
INSERT UODATE DELATE
(查询表中的所有数据
select *from 表名;)
2.1 插入
DESC stu;
SELECT *FROM stu;
INSERT INTO 表名(列名1,列名2,列名3…)
values (列值1,….)
注意 列名与列值得类型和个数顺序要一致
若不知道内容 可插入空值 null
若要插入日期等信息 也要引号括起来
ALTER TABLE stu ADD birthday DATE;
INSERT INTO stu(username,age,score,birthday)
VALUES (‘TOM’,11,55.5,’2002-02-10’);
ALTER TABLE stu ADD birthday
#批量插入 INSERT INTO stu VALUES ('sokeaa',11,NULL ,'1993-05-20') , ('bikebbc',12,50,'1993-05-20') , ('jarycccc',13,55.5,'1993-05-20' ) ;# 2.2 修改
语法:
update 表名 set 要做的具体修改操作 where(可选) 列名= 值;
所有的值都改为50;
UPDATE stu SET age = 50;
SELECT *FROM stu;
#将tom1 的改为100
UPDATE stu SET score = 100 WHERE username =’TOM1’ ;
SELECT *FROM stu;
将名字tom2的人分数改为99.9,年龄改为10
UPDATE stu SET score=99 WHERE username =’tom2’;
DESC stu;
将名字叫 ‘tom3’的人分数增加10分
UPDATE stu SET score= score +10 WHERE username = ‘TOM3’;
SELECT *FROM stu;
#2.3 删除
delete from 表名(where 列名 = 值);
# 删除所有数据
DELETE FROM stu;
删除所有年龄为10的
DELETE FROM stu WHERE age=10;
删除表中的记录
与delate方式的区别:
delate删除的是数据,但表中的结构还在
TRUNCATE 是直接把表删掉 在创建一个同样的表
速度快 但数据不能找回
TRUNCATE TABLE stu;
3.DQL
数据查询语言(重要)
关键字 select
语法 select 列名 from表名
(where 行条件)…
group by (对结果分组)..
having (分组后的行条件)..
order by(排序)..)
3.1 查询所有
3.1.1 查询所有
SELECT * FROM stu;
3.1.2 查询指定列
SELECT username ,age FROM stu;
3.2 条件查询
条件查询就是在查询时给出where字句 在where子句中可以使用如下运算符和关键字
:
= != <> < <= > >=
between … and
in (set)
is null is not null
and
or
not
查询年龄为50 名字为’tom1’的信息
SELECT *FROM stu WHERE age=11 AND username = ‘TOM1’;
查询年龄为55.5 或者名字为’tom1’的信息
SELECT *FROM stu WHERE score = 55.5 OR username=’TOM1’;
查询分数为55.5,99.9和158的学生的信息
SELECT *FROM stu WHERE score = 55.5 OR score = 99.9OR score = 158 ;
SELECT *FROM stu WHERE score IN (55.5,99.9,158);
查询分数不是55.5,99.9和158的信息
SELECT *FROM stu WHERE score != 55.5 AND score != 99.9AND score != 158 ;
SELECT *FROM stu WHERE score NOT IN (55.5,99.9,158);
查询分数为null的记录
SELECT * FROM stu WHERE birthday IS NULL ;
查询分数不为null的记录
SELECT *from stu WHERE score IS NOT NULL ;
查询分数在70 到90 的人
SELECT score FROM stu WHERE score>=70 AND score<=90;
SELECT score FROM stu WHERE score BETWEEN 70 AND 90;
查询年龄不是22岁的记录
SELECT *FROM stu WHERE age !=22;
SELECT *FROM stu WHERE NOT age=22;
SELECT *FROM stu WHERE age <> 22;
查询生日不为空的学生的信息
SELECT * FROM stu WHERE birthday IS NOT NULL ;
- MySQL语句总结1
- Mysql语句总结(1)
- MySQL数据库总结(1)入门语句
- MySQL语句总结
- MySQL语句总结
- MySql Sql语句总结
- mysql语句总结
- 常用mysql语句总结
- mysql语句总结
- mysql常用语句总结
- 【总结】MySQL 语句
- mysql常用语句总结
- MySQL语句总结
- MySql语句总结
- MySQL基本语句总结
- mysql sql语句总结
- mysql语句总结
- MySql查询语句总结
- 矩阵分析与应用(一)——集合的基本运算和内积空间
- vs2015安装
- (数学)HDU 6045 Is Derek lying?
- 非旋转treap 模板
- 用js写一个选项卡
- Mysql语句总结(1)
- FOJ--1046--Tempter of the Bone(dfs+奇偶剪枝)
- 动态规划(Hearthstone,HDU 5816)
- Faulty Odometer HDU
- 在 Linux 上配置 mongodb
- Banner简单使用
- git 拉取远程代码
- 2017 多校训练第二场 HDU 6045 Is Derek lying?
- POJ 3261 Milk Patterns 最长出现k次的子串长度(后缀数组)