mysql中⽂注释_常见mysql语句(中⽂注释版)-- 查看所有数据库
SHOW DATABASES;
-- 创建数据库hs20provider
CREATE DATABASE dy_13;
-- 创建数据库并指定字符集
CREATE DATABASE dy_12 CHARACTER SET utf8;
-- 查看数据库字符集
SHOW CREATE DATABASE dy_13;
-- 修改数据库字符集,需要在根⽬录上才能有效执⾏
ALTER DATABASE dy_13 DEFAULT CHARACTER SET utf8;
-- 删除数据库
DROP DATABASE dy_13;
-- ---------------------------------------------------------------------------
-- 进⼊表
USE dy;
-- 查看表,需要先进⼊数据库
SHOW TABLES;
-- 创建表
CREATE TABLE student(
id INT,
NAME VARCHAR(20),
gendenr VARCHAR(20),
age INT
);
-- 查看表结构
DESC student;
-- 添加字段
ALTER TABLE dy ADD COLUMN qq INT;
-- 修改字段类型
ALTER TABLE student MODIFY COLUMN qq VARCHAR(10);
为已经添加好的数据表添加外键:
语法:alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名
-- 修改字段名称 旧名字 新名字
ALTER TABLE student CHANGE COLUMN gendenr sex VARCHAR(20);
-- 删除字段
ALTER TABLE student DROP COLUMN qq;
-- 修改表名
ALTER TABLE student RENAME TO students;
-- 删除表
DROP TABLE test;
-- 数据管理--------------------------------------------------------------------------------------------------------- 查看所有数据
SELECT * FROM dy;
-- 增加数据
INSERT INTO dy VALUES(1,'宝贝','男',20);
-- 在特定字段加⼊数据
INSERT INTO dy(id,NAME)VALUES(5,'徐渭');
-- 修改数据,⼀次对⼀个字段进⾏修改,修改多个的话逗号隔开即可
UPDATE dy SET qq='123142';
-- 修改局部数据,要修改的数据 增加⼀个标识位,可以有多个标识位
UPDATE dy SET qq='0' WHERE id=2;
-- 删除数据(全局删除,等于删除了表中的全部数据,但是表没有删除)
DELETE FROM dy;
-- 局部删除,要操作的表 删除的条件,即删除的标识位
DELETE FROM dy WHERE id=2;
linux如何替换文件内容-- 插⼊时间(时间类型)
CREATE TABLE test(
插⼊⽇期 DATE,
插⼊时间 DATETIME,
⾃动插⼊时间 TIMESTAMP -- 该时间是⾃动⽣成的
);
-- 查询数据---------------------------------------------------------------------------------------------------
-- 查询所有列数据
SELECT * FROM dy;
-- 查询指定列
SELECT id,NAME FROM dy;
-- 给字段指定⼀个别名(列别名)
SELECT NAME AS '姓名',qq AS '腾讯qq' FROM dy;
-- 对数值类型的数据进⾏合并并得到值
SELECT age+qq FROM dy;
-- 对合并的数据进⾏指定别名
SELECT age AS '年龄',qq AS '腾讯',(age+qq) AS '得到' FROM dy;
-- 查询去重,将重复数据去掉,显⽰不重复的
SELECT DISTINCT qq FROM dy;
-- 条件查询------------------------------------------------------------------------------------------------ 查询,where后⾯是条件,全部的数据id为1的
自制滑动轨道SELECT * FROM dy WHERE id=1;
-- 与条件查询 年龄为20 与 性别为男
SELECT * FROM dy WHERE age=20 AND gender='男';
SELECT * FROM dy;
-- 或查询truncate函数是什么意思
SELECT * FROM dy WHERE age=20 OR age=40;
-- ⽐较条件 ⼤于 <=⼩于等于 >=⼤于等于 =等于 <>不等于,可配合条件查询
-- ⽐较查询 ⼤于某数值
SELECT * FROM dy WHERE age>20;
-- 并且 年龄在 20 与 40直接的
SELECT * FROM dy WHERE age BETWEEN 20 AND 40;
-- 判空查询--------------------------------------------------------------------------------
-- 查询列中是null的数据
SELECT * FROM dy WHERE age IS NULL;
-
- 查询列中是⾮null的数据
SELECT * FROM dy WHERE age IS NOT NULL;
-- 查询列中空字符串
SELECT * FROM dy WHERE age ='';
-- 查询列中⾮空字符串的数据
SELECT * FROM dy WHERE age <>'';
-- 模糊查询-------------------------------------------------
-- %表⽰任意字符 _⼀个下划线代表⼀个
-- 查询含有某个字的数据
SELECT * FROM dy WHERE NAME LIKE '%贝%';
-- 查询开头为某个字的数据
SELECT * FROM dy WHERE NAME LIKE '王%';
-- 查询有3个字,并且含某字的数据 __表⽰2个,只会得到含有2个字的数据
SELECT * FROM dy WHERE NAME LIKE '__贝';
-- 聚合查询--------------------------------------------------------------------------------------
-- 查最⾼分 从某字段查询最⾼数值
SELECT MAX(age) FROM dy;
-- 查询最低分
SELECT MIN(age) FROM dy;
-- 查询某个字段的总分数
SELECT SUM(age) FROM dy;
-- 查询某个字段的平均分,会有⼩数位
SELECT AVG(age) FROM dy;
-- 统计总数(对空不包含,如果是*号则包含)
SELECT COUNT(*) FROM dy;
-- 分页查询--------------------------------------------------------------------------
-- limit起始⾏,查询⼏⾏,注意从0开始
-- 从第⼀⾏查询2条数据, 第⼀个参数是从第⼏⾏开始,查询⼏条
SELECT * FROM dy LIMIT 0,2;
SELECT * FROM dy LIMIT 3,5;
-- 查询排序-------------------------------------------------------------------------------
-- 默认情况下按照插⼊数据的顺序排序
-- 按照id的降序排序(从⼤到⼩)
SELECT * FROM dy ORDER BY id DESC;
-- 按照id升序排序(从⼩到⼤)
SELECT * FROM dy ORDER BY id ASC;
-- 按照age升序排序
mysql查看所有存储过程SELECT * FROM dy ORDER BY age ASC; -- 空会排在前⾯
-- 按照name升序排序,排序⽅式是根据字典来排,字典是abcdefg这样的形式,中⽂的还不知道排序的原则SELECT * FROM dy ORDER BY NAME ASC;
-- 分组查询------------------------------------------------------------------------------------------------
-- 查询各个性别的⼈数,先对数据进⾏分组,然后对数据进⾏统计查询,所谓的分组就是对数据去重
SELECT gender FROM dy GROUP BY gender; -- 进⾏了分组
SELECT * FROM dy GROUP BY gender;
SELECT gender,COUNT(*) FROM dy GROUP BY gender;-- 分组后并将数据进⾏了统计
-- where分组前查询,having分组后查询
-- 关键字的顺序 from -> where -> group by -> having -> order by -> limit
SELECT gender,COUNT(*) FROM dy WHERE age>3 GROUP BY gender;
-- 数据库的约束-----------------------------------------------------------------------------------------------
-- 默认值 default,在字段的后⾯添加
-- ⾮空 not null(有些数据库会赋值⼀个空字符串)
-- 唯⼀ unique
-- 主键 唯⼀并且⾮空 primary key
-- ⾃增长 auto_increment ⾃增长的话数据会⼀直增加,并不会因为你删除了之前的数据重新开始增长,⾃增长数据不需要你添加数据
TRUNCATE TABLE dy; -- 删除整个表,我们需要注意⼀点,使⽤这个删除会使⾃增长也全部删除,等于重新开始从1分配,操作不能回滚
DELETE FROM dy; -- 这样删除整个表,⾃增长不会归零,这个删除可以进⾏条件删除,不能影响表的约束,同时该操作可以回滚
-- 外键约束--------------------------------------------------------------------------------------------------------
-- 使⽤外键,我们建⽴外键表,主键只要添加外键表名与id即可, 外键即受外部约束的字段,⾄于数据管理,参考树⽊的
-- 外键约束的作⽤是约束外键,⽐如外键没有部门 id = 3 的,那么我们就不应该能添加⼀个外键为3的存在
ALTER TABLE dy ADD CONSTRAINT sa FOREIGN KEY(fk_two) REFERENCES two(id);-- 追加外键约束
-- 修改 表 表名 添加 声明 外键名 哪⼀个字段关联外键 外键(主键)
SELECT * FROM dy;
数据库数据恢复文件SHOW TABLE dy;
-- 级联操作----------------------------------------------------------------------------------------------------------
-- 修改主表,影响副表的数据
-- 级联更新
ON UPDATE CASCADE;-- (在建⽴表的时候在后⾯添加该属性即可)
-- 级联删除
ON DELETE CASCADE;
-- 多表查询---------------------------------------------------------------------------------------------------------------
-- 内连接查询,不满⾜连接条件的不会被显⽰,即null不会被显⽰
SELECT dy.age,two.name -- 第⼆步:确定查询的字段,注意这⾥的字段是根据表名来得到,表名可以使⽤别名
FROM dy,two -- 第⼀步:确定要查询的表,这⾥表可以给⼀个别名,即 表名 AS 别名,甚⾄可以省略 AS关键字,在其他位置直接使⽤别名即可
WHERE dy.fk_two=two.id; -- 第三步:确定连接条件,这⾥的关系即主键与外键
der,two.name -- 此种查询会出现笛卡尔积,没有连接条件导致其直接将两张表中⽆论是否重复的字段显⽰出来
FROM dy,two;
-- 外连接查询,如果有null元素也会被显⽰出来(左外连接)
der,two.name -- 要查询的表的字段

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。