目录
一.数据库:
1.创建数据库:
2.查看数据库:
3.备份恢复数据库:
二.表
1.创建表指令:
2.MySQL常用数据类型:
3.删除与修改表(重点):
4.数据库CRUD语句:
1.Insert(添加数据):
2.Update(更新数据):
3.Delete(删除数据):
4.Select(查找数据):
(1)基本语法:
(2)使用表达式对查询的列进行运算:
(3)在语句中使用as起别名:
(4)在where子句中经常使用的运算符:
(5)order by 子句排序:
一.数据库:
1.创建数据库:
2.查看数据库:
3.备份恢复数据库:
二.表
1.创建表指令:
CREATE TABLE `user`(id INT,`name` VARCHAR(255),`password` VARCHAR(255),`birthday` DATE)CHARACTER SET utf8 COLLATE utf8-bin ENGINE INNIDB;
2.MySQL常用数据类型:
CREATE TABLE `emp`(id INT,`name` VARCHAR(32),sex CHAR(1),birthday DATE,entry_date DATETIME,job VARCHAR(32),salary DOUBLE,`resume` TEXT)
CHARACTER SET utf8 COLLATE utf8-bin ENGINE INNIDB;
INSERT INTO `emp`VALUES(100,'小妖怪','男','2000-11-11','2010-11-10 11:11:11','巡山的',3000,'大王叫我来巡山');
SELECT * FROM `emp`;
3.删除与修改表(重点):
ALTER TABLE emp --增加列ADD image VARCHAR(32) NOT NULL DEFAULT '' AFTER RESUME
ALTER TABLE emp --修改列MODIFY job VARCHAR(60) NOT NULL DEFAULT ''
ALTER TABLE emp --删除列DROP sex
DESC employee --显示表结构
RENAME TABLE emp TO employee --修改表名
ALTER TABLE employee CHARACTER SET utf8 --修改字符集
ALTER TABLE employee CHANGE name user_name VARCHAR(32) NOT NULL DEFAULT ''
--修改列名name为user_name
4.数据库CRUD语句:
1.Insert(添加数据):
- 插入的数据必须与字段的数据类型相同
- 字符和日期型数据应包含在单引号中
- 列可以插入空值,前提是该字段允许为空
- 如果是给表中所有的字段添加数据,可以不写前面的字段名称
- 在创建表的时候可以指定某个列的默认值,当不给某个字段值时,当添加数据时,没有给定值,则会默认给null。
INSERT INTO `emp`(id,name,sex,birthday)VALUES(100,'小妖怪','男','2000-11-11')
2.Update(更新数据):
UPDATE employee SET salary = 5000--将所有员工修改为5000
UPDATE employee SET salary = 5000--set子句修改哪些列和要给予哪些值WHERE user-name ='小妖怪'--将小妖怪的薪水在原有基础上增加1000元
UPDATE employee SET salary =salary +5000,job = '出主意的'WHERE user_name = '老妖怪'
3.Delete(删除数据):
DELETE FROM employee WHERE user_name = '老妖怪'
DELETE FROM employee --删除表内的所有记录
- Delete 语句不能删除某一列的值,可使用update设置为NUll或' '(UPDATE employee SET job = ' 'WHERE user_name = '老妖怪')
- 使用delete不能删除表,只能删除表的记录,要删除这个表只能使用drop table 表名。
4.Select(查找数据):
(1)基本语法:
SELECT * FROM student;
SELECT `name`,english FROM student;
--去重指的是每个字段都相同,才会去重
(2)使用表达式对查询的列进行运算:
SELECT 'name',(chinese + english + math) FROM student;
SELECT `name` AS `名字`,(chinese + english + math) AS total_score FROM student;
(3)在语句中使用as起别名:
(4)在where子句中经常使用的运算符:
SELECT * FROM studentWHERE `name` = `赵云`;
SELECT * FROM studentWHERE english >= 90;
SELECT * FROM studentWHERE (chinese+english+math) >200;
SELECT * FROM studentWHRER math>60ANDid>4;
SELECT * FROM studentWHERE english>chinese;
SELECT * FROM studentWHRER (chinese+english+math) >200 ANDmath<chinese AND `name`LIKE `韩%`;--名字以韩开头的人
SELECT * FROM studentWHERE math IN(89,90,91);
--BETWEEN AND 是闭区间
(5)order by 子句排序:
SELECT * FROM studentORDER BY math;--默认为升序
SELECT `name`,(chinese+english+math) AS total_score FROM studentORDER BY total_score desc
SELECT `name`,(chinese+english+math) AS total_score FROM studentWHERE `name` LIKE '韩%'ORDER BY total_score;