郭宇 2020-01-08
? 结构化查询语言。同时也是数据库脚本文件的扩展名。
? 用于存取数据以及查询、更新和管理关系数据库系统。
create 增 delete 删 update 改 select 查 read 读
命令连接到数据库
mysql -u 用户名 -h 服务端IP地址 -p 密码 例: mysql -u root -h 127.0.0.1 -p 123456
create database test; #创建名为test的数据库 create table xscj< #创建名为xscj的表 -> id int<10> primary key, #primary key 表示指定这一列主键 -> name varchar<20> not null, -> class varchar<40> not null, #int,varchar表示数据类型 -> chinese int<10> not null, -> math int<10> not null, -> english int<10> not null #最后一列,不需要加逗号 -> >; #必须加分号“;” insert into `test`.`xscj`(`id`,`name`,`class`,`chinese`,`math`,`english`) values ('20190406','李华','一班','87','89','94') #将数据添加到xscj表中 #库中有的数据用反引号,新添加的内容用引号 #同时插入多条数据时用逗号隔开即可
drop用于删除数据库或表
drop database test; #删除数据库test drop table xscj; #删除数据表xscj
delete用于删除表中的数据
```sql lite
delete from 表名 where 删除条件
例:
delete from xscj where id=20190406 #删除id为20190406的数据
```
update能完成更新操作,用于修改数据表中内容
update xscj set english="90" where id='20190406' #修改id为20190406的英语成绩为90
show命令能够查看当前数据库以及表
show datebases #查看所有数据库 show tables #查看当前数据库下所有数据表,需在使用use进入库后使用
? select可以查询数据表内的数据,可以是使用通配符"*"查询表内的所有内容,也可以查询指定列内容
查询表内所有数据
? 查询结果为一个二维表
SELECT * FROM <表名> 例: SELECT * FROM students # SELECT 是关键字,表示执行查询 # “ * ”表示所有列 # FROM 表示将要从那哪个表查询 # students 是被查询的表名,即students表 SELECT id,name FROM test.students; #查询指定列
条件查询
SELECT * FROM <表名> WHERE <条件表达式> 例: SELECT * FROM students WHERE score >= 80 AND gender = 'M' # "<条件1> AND <条件2>"表示满足条件1并且满足条件2 # gender列存储的是字符串,需要使用单引号 # 查找符合条件“分数在80分或以上”,并且还符合条件“男生”的数据 SELECT * FROM students WHERE score >= 80 OR gender = 'M' # 查询符合条件“分数在80分以上”或者“性别男”的数据,符合其中一项即可 SELECT * FROM students WHERE NOT class_id = 2 # 查询符合条件“不是二班的学生”的数据 # NOT class_id = 2 等价于 class_id <> 2
按多个条件查询
SELECT * FROM students WHERE (score < 80 OR score > 90) AND gender = "M" #查询符合条件“分数在80分以下或者在90分以上,并且是男生”的数据
NULL 空属性(默认属性) NOT NULL 不为空 primary key 主键 unique key 唯一键 comment 描述 default 默认值 auto_increment 自动增长
show databases; #查看数据库 show tables; #查看库下面数据表 select database(); #查看当前所在数据库 select version(); #查看当前服务版本 select user(); #查看当前用户 select now(); #查看当前日期 create database 库名; #创建数据库 drop database 库名; #删除数据库 use 库名; #使用(进入)数据库 create table 表名(列名 列属性); #创建表 drop table 表名; #删除数据表 desc 表名; #查看表结构 insert into 表名(列名) values(列值); #向表中添加数据 delete from 表名 where 条件 ; #删除表中符合条件的数据 update 表名 set 列名='值' where 条件; #修改数据 select 列名 from 表名 where 条件; #查询数据 修改表结构: alter table 表名 rename 新表名; #修改表名 alter table 表名 modify 字段名 字符类型; #修改字段的字符类型 alter table 表名 add 新列名 数据类型; #添加列 alter table 表名 change 旧列名 新列名 新数据类型; #修改列名 alter table 表名 drop 列名; #删除列 drop database 库名; #删除数据库 drop table 表名; #删除表
逻辑运算符 AND 同时满足多个条件 OR 多个条件中只要一个条件满足 IN 可选范围内查找数据 NOT 否定其后所有条件 between and 介于某范围之间 not between and 不在范围之间 优先级:NOT > AND > OR 通配符: % #匹配任意多个字符 _(下划线) #匹配任意一个字符 算术运算符: + 加 - 减 * 乘 / 除 % 取模 比较运算符: >、< 大于、小于 >=、<= 大于等于、小于等于 = 相等 <> 不相等 like 判断相似,配合-或%使用 确定范围: between and 在范围内 not between and 不在范围内