mysql数据库

1.DDL数据定义语言

1.创建表

CREATE TABLE stu(
    id int,
    name varchar(10)
);

2.查看数据库中所有表名称

SHOW TABLES;

3.查看指定表的创建语句

SHOW CREATE TABLE stu;

4.查看表结构

DESC stu;

5.删除表

DROP TABLE stu;

6.修改表

1.修改之添加列
ALTER TABLE stu ADD(
    edu VARCHAR(50),
    famale VARCHAR(15)
);
2.修改之修改列类型
ALTER TABLE stu
MODIFY famale VARCHAR(10);

3.修改之修改列名

ALTER TABLE stu
CHANGE famale sex VARCHAR(10);
4.修改之删除列
ALTER TABLE stu
DROP sex;
5.修改表名称
ALTER TABLE stu
RENAME TO stu1;

2.DML数据库操作语言

1.插入数据

INSERT INTO stu()

INSERT INTO stu(
    id,name,edu
) VALUES (
    1,'tom','grade1'
);

若没有给出插入的列,则表示要插入所有的列

值的个数必须是列表个数,值的顺序必须与给出的列的顺序相同

INSERT INTO stu
VALUES (
    2,'luffy','grade2'
);

没有指定列等同插入NULL值

INSERT INTO stu(
    name,edu
) VALUES (
    'jerry','grade2'
);
2.修改数据

条件必须是一个boolean类型的值或者表达式:

运算符:= 、!= 、< 、>、<> 、>=、 <= 、 BETWEEN ... AND 、 IN(...) 、IS NULL 、 NOT 、 OR 、 AND

UPDATE stu SET id=5 WHERE name='tom';
3.删除数据
DELETE FROM stu WHERE id IS NULL;

TRUNCATE TABLE 的指令。在这个指令之下,表格中的资料会完全消失,可是表格本身会继续存在。

TRUNCATE TABLE stu;

3.DCL数据控制语言

1. 创建用户

用户只能在指定的IP登陆

CREATE USER 用户名@IP地址 IDENTIFIED BY '密码'

用户可以在任意IP上登陆

CREATE USER 用户名@IP'%' IDENTIFIED BY '密码'

GRANT:CREATE ALTER DROP INSERT UPDATE DELETE SELECT

CREATE USER Tom@'%' IDENTIFIED BY '123';

2.给用户授权

GRANT 权限1,...权限n ON 数据库.* TO 用户名@IP地址
GRANT ALL ON test.* TO Tom@'%' ;

3.撤销授权

REMOVE 权限1,...权限n ON 数据库.* TO 用户名@IP地址

4.查看权限

SHOW GRANTS FOR 用户名@IP地址

5.删除用户

DROP USER 用户名@IP地址

4.DQL数据查询语言

1.查询所有列

SELECT * FROM stu;

2.查询指定列

SELECT id ,name FROM stu;

3.完全重复的记录只显示一次

SELECT DISTINCT name FROM stu; 

4.列运算

(1).数量类型的列可以做加减乘除运算
SELECT id+10 FROM stu;
(2).字符串类型的可以做连续运算
SELECT id,name,CONCAT('SUST',edu) FROM stu;
(3).转换NULL值
SELECT IFNULL(id,1000),name,edu FROM stu;
(5)给列起别名
SELECT id as number , name , edu FROM stu;

as可以省略

5.DQL数据查询语言

(1)条件查询

SELECT * FROM stu WHERE id > 3 AND id IS NOT NULL;
SELECT * FROM stu WHERE id BETWEEN 5 AND 7;
SELECT * FROM stu WHERE name IN('Tom');

(2)模糊查询

下划线”_“匹配任意一个字符,%匹配任意多个字符

SELECT * FROM stu WHERE name LIKE 't%';
SELECT * FROM stu WHERE name LIKE 'j_rry';

(3)排序

升序 ASC 可省略
SELECT * FROM stu ORDER BY id ASC;
降序 DESC
SELECT * FROM stu ORDER BY id DESC;
使用多列作为排序条件
SELECT * FROM stu ORDER BY id ASC,edu DESC;

(4)聚合函数

查询人数(列数)

SELECT count(*) FROM stu;

不累计NULL

SELECT count(id) FROM stu;

数字等价于*

SELECT count(2) FROM stu;

sum

SELECT sum(id) FROM stu;

max、min

SELECT max(id) FROM stu;

avg

SELECT avg(id) FROM stu;

(5)分组查询

SELECT edu,count(*) FROM stu GROUP BY edu;

(6)limit方言

从第五条开始,查三条

SELECT * FROM stu LIMIT 4,3;
Last modification:February 6th, 2020 at 11:44 pm
如果觉得我的文章对你有用,请随意赞赏