首页 > 代码库 > mysql
mysql
-- 修改密码 ctrl+shift+c/r 添加/取消 注释SET PASSWORD FOR root@localhost=PASSWORD(‘新密码‘);-- 查询所有的数据库SHOW DATABASES ;-- 创建数据库CREATE DATABASE IF NOT EXISTS t11;-- 删除数据库DROP DATABASE t11;-- 切换到指定的数据库USE mysql;-- 查询mysql数据库中user表中所有用户SELECT `host`,`user` FROM mysql.user-- `反引号` 区别关键字-- 创建用户CREATE USER bdqn IDENTIFIED BY ‘bdqn‘;-- 给用户授权GRANT ALL ON *.* TO bdqn;-- 删除用户DELETE FROM mysql.user WHERE USER=‘bdqn‘
-- 创建一个学生信息表CREATE TABLE student(stuNo INT(4) NOT NULL PRIMARY KEY,stuName VARCHAR(20) NOT NULL,stuAge INT(3) -- 不能加 ,)-- 修改表名ALTER TABLE student RENAME AS stu;-- 给表中新增字段ALTER TABLE stu ADD stuSex VARCHAR(2);-- 修改表中字段的类型ALTER TABLE stu MODIFY stuName VARCHAR(10);-- 删除表中指定的字段ALTER TABLE stu DROP stuSex;-- 修改字段的名称ALTER TABLE stu CHANGE stuName `name` VARCHAR(10);
-- 删除表DROP TABLE IF EXISTS student;-- 01.新增一条数据INSERT INTO student(stuNo,`name`,stuAge)VALUES(1,‘张三‘,50);-- 02.新增一条数据 必须按照创建表时 字段的顺序依次赋值INSERT INTO studentVALUES(2,‘李四‘,50)-- 03.新增一条数据 stuNo不是自增 默认stuNo=0 如果设置了自增 可以不显示的给stuNo赋值INSERT INTO student(`name`,stuAge)VALUES(‘王五‘,50);-- 04.删除表中所有数据 DELETE FROM student;-- 05.同时新增多条数据INSERT INTO studentVALUES(1,‘张三‘,50),(2,‘李四‘,50),(3,‘王五‘,50);
数据库的备份
cmd进入命令行
mysqldump -u用户名 -p 数据库名称 >指定的文件
数据库的恢复
前提是必须要有对应的数据库
mysql -u用户名 -p <指定的文件
-- 四种完整性约束-- 01.实体完整性 唯一约束,主键约束-- 指的就是一条记录!保证每一条记录都是唯一的,有意义的!-- 02.域完整性 检查约束,外键约束-- 域在这里指的是字段!保证字段的值必须是有效的!-- 03.引用完整性 外键约束-- 一个表中的字段值来自另一个表中的字段值!-- 引用的表就是外键表/从表-- 被引用的表就是主表-- 04.自定义完整性 检查约束-- 6大约束-- 01.主键约束 pk primary key-- 02.唯一约束 uq uniqueALTER TABLE studentADD CONSTRAINT uq_student_name UNIQUE(NAME)-- 03.外键约束 fk foreign keyALTER TABLE studentADD tid INT(4); -- 在student表中新增字段CREATE TABLE teacher( -- 创建teacher表tId INT(4) NOT NULL PRIMARY KEY,tName VARCHAR(20));INSERT INTO teacher -- 给teacher表新增数据VALUES(1000,‘教师1‘),(1001,‘教师2‘),(1002,‘教师3‘),(1003,‘教师4‘);ALTER TABLE student -- 在从表中创建外键关系ADD CONSTRAINT fk_teacherFOREIGN KEY(tid)REFERENCES teacher(tId);-- 04.默认值约束 df default-- 05.检查约束 ck check-- 06.非空约束 nn not null
-- 修改表中的数据 -- update 表名 set 需要修改的数据 where 条件 -- 01.修改stuNo=5的姓名为 ‘小黑’UPDATE student SET `name`=‘小黑‘WHERE stuNo=5;-- 02.修改所有tid=1001 改成 1003UPDATE student SET tid=1003WHERE tid=1001-- 删除表中的数据-- delete from 表名 where 条件-- 删除stuAge在20 到100之间的数据DELETE FROM student WHERE stuAge>=20 AND stuAge<=100;DELETE FROM student WHERE stuAge BETWEEN 200 AND 500;-- 删除teacher表中所有的数据DELETE FROM teacher;
导入需要的sql文件
01.cmd
之后进入mysql
02.sqlyog中
-- DQL(data query language)数据查询语言-- 01.查询所有的学生信息SELECT * FROM student;-- 02.查询指定的学生信息SELECT * FROM student WHERE studentName=‘大凡‘;-- 03.查询编号是1009的学生编号,姓名以及住址SELECT studentNo,studentName,address FROM studentWHERE studentNo=1009;-- 04.查询的时候使用别名 as 也可以省略SELECT studentNo AS 编号,studentName AS 姓名,address AS 住址 FROM studentWHERE studentNo=1009;SELECT studentNo 编号,studentName 姓名,address 住址 FROM studentWHERE studentNo=1009;-- 05.查询student和grade两个表中的数据SELECT * FROM student,grade;-- 上面的结果是一个 笛卡尔积! 两个表中数据的乘积!SELECT * FROM student,gradeWHERE student.gradeid=grade.gradeid-- 06.去重 distinct 查询多列时,必须位于第一个-- 查询学生成绩在85到95之间的学生编号SELECT DISTINCT studentNo,studentResultFROM result WHERE studentResult BETWEEN 85 AND 95;-- 07.查询学生成绩在85到95之间的学生姓名SELECT studentName FROM studentWHERE studentNo IN(SELECT DISTINCT studentNo FROM result WHERE studentResult BETWEEN 85 AND 95);-- 验证我们的输出是正确的UPDATE result SET studentResult=80WHERE studentNo=1000;-- 08.查询学生表中 地址不为空的学生姓名和地址SELECT studentName,addressFROM studentWHERE address!=‘‘;-- 09.查询学生表中地址为空的学生姓名和地址-- null 代表无值 区别于 ‘’空字符串SELECT studentName,addressFROM studentWHERE address=‘‘;SELECT studentName,addressFROM studentWHERE address IS NULL;SELECT studentName,addressFROM studentWHERE address IS NOT NULL;-- 10.查询姓名是 李东方或者刘奋斗的 学生信息SELECT * FROM studentWHERE studentName=‘李东方‘ OR studentName=‘刘奋斗‘-- 11.查询姓名是 李东方或者刘奋斗 再或者是json 的 学生信息SELECT * FROM studentWHERE studentName=‘李东方‘ OR studentName=‘刘奋斗‘OR studentName=‘json‘;-- 12.使用in 代替SELECT * FROM studentWHERE studentName IN(‘李东方‘,‘json‘,‘刘奋斗‘);-- 13.查询姓李的学生信息 _ 代表一个字符 %代表0或者多个字符SELECT * FROM studentWHERE studentName LIKE ‘李_‘SELECT * FROM studentWHERE studentName LIKE ‘李%‘SELECT * FROM studentWHERE studentName LIKE ‘%才‘SELECT * FROM studentWHERE studentName LIKE ‘%才%‘
mysql
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。