- DDL(数据定义语句)
操作数据库:
1.创建数据库
create database 数据库名;
create database 数据库名 character set 字符集;
2.切换数据库
use 数据库名;
3.查看当前所使用的数据库
select database();
4.查看mysql中有哪些数据库
show databases;
5.查看数据库定义信息
show create database 数据库名;
6.修改数据库字符集
alter database 数据库名 character set 字符集;
7.删除数据库
drop database 数据库名;
操作数据表:
1.创建表
create table 表名(
字段名称1 字段类型(长度),
字段名称2 字段类型,
...
)
2.复制表结构并创建新表(不含数据)
create table 新表 like 旧表;
3.查看表结构信息
desc 表名;
4.查看当前数据库中的所有表名
show tables;
5.查看数据表的建表语句
show create table 表名;
6.删除数据表
drop table 表名 [restrict][cascade];
- 选择restrict,则表的删除存在限制条件,欲删除的基本表不能被其它表的约束所引用,不能有视图,不能有触发器,不能有存储过程和函数,如果存在这些依赖表的对象,则此表不能被删除。
- 选择cascade,则表的删除没有限制条件,在删除基本表的同时,相关的依赖对象,例如视图,都会被一起删除。
7.判断表存在并删除表
drop table if exits 表名;
8.修改表名
renanme table 旧表名 to 新表名;
9.向表中添加列,关键字为add
alter table 表名 add 字段名称 字段类型;
10.修改表中列的数据类型或长度,关键字为modify
alter table 表名 modify 字段名称 字段类型;
11.修改列名称,关键字change
alter table 表名 change 旧列名 新列名 数据类型(长度);
12.删除列,关键字为drop
alter table 表名 drop 列名;
- DML(数据操作语句)
1.插入数据(一行)
insert into 表名(字段1,字段2...) values(字段值1,字段值2...)
- 如果是按顺序向全部字段插入数据,那么(字段1,字段2...)可以省略
- 值与字段必须对应,个数相同,数据类型相同
- 值的数据大小必须在字段指定的长度范围内
- varchar,char,data类型的值使用单引号包裹
2.修改数据
update 表名 set 列名 = 值 [where 条件表达式:字段名 = 值]
- 也可以一次修改多列,中间用逗号隔开
update 表名 set 列名1 = 值1, 列名2 = 值2 [where 条件表达式:字段名 = 值]
3.删除表中所有数据
delete from 表名;
truncate table 表名;
- 第一种删除方法,有多少条记录就会执行多少次删除操作,效率低
- 第二种删除方法,先删除整张表,然后再创建一张结构一模一样的表,效率高
- 但是使用第二种方法删除的数据是很难恢复的
4.指定条件删除数据
delete from 表名 [where 字段名 = 值];
- DQL(数据查询语句)
1.查询表中的所有数据
select * from 表名;
2.查询表中的部分字段
select 字段1,字段2... from 表名;
3.查询表中的部分字段,并为字段指定别名
select 字段1 as '别名1',字段2 as '别名2'... from 表名;
- 在mysql中,as可以省略
4.去重查询,使用关键字distinct
select distinct 字段名 from 表名;
- distinct在英语中表示不同的,有区别的
5.运算查询
select 字段名[+/-]数字 from 表名;
6.条件查询
select 列名 from 表名 where 条件表达式;
- 比较运算符
运算符 | 说明 |
---|---|
> < <= >= = <> != | 大于、小于、小于等于,大于等于,等于,不等于 |
between … and … | 显示在某一区间的值 |
in(集合) | 集合中有多个值,值与值之间用逗号隔开 |
like’%张%’ | 模糊查询 |
is NULL | 查询某一列为NULL的值 |
- 逻辑运算符
运算符 | 说明 |
---|---|
and && | 多个条件同时成立 |
or || | 多个条件任一成立 |
not | 不成立,取反 |
实验所用的数据库:MySQL
实验所用的软件 :Navicat