一、数据库的管理
1、直接创建数据库
create database 数据库名;
2、判断数据库是否存在,如果存在则不创建,不存在则创建
create database if not exists 数据库名;
3、创建数据库并指定字符集
create database 数据库名 character set 字符集;
4、查看所有的数据库
shou databases;
5、查看某个数据库的定义信息
show create database 数据库名;
6、修改数据库字符集
alter database 数据库名 default character set 字符集;
7、删除数据库
drop database 数据库名;
注意:数据库删除后,将无法恢复,因此要谨慎操作。
8、查看正在使用的数据库
select database();
9、使用/切换数据库
use 数据库名;
二、数据表的管理
1、创建表
create table 表名(
列名1 数据类型 ,
列名2 数据类型 ,
…
)
2、查看某个数据库中的所有表
show tables;
3、查看表结构
desc 表名;
4、查看创建表
show create table 表名;
5、仅复制表结构
create table 新表名 like 旧表名;
6、同时复制表结构和数据
create table 新表名 查询语句;
7、直接删除表
drop table 表名;
8、判断表是否存在并删除表
drop table if exists 表名;
9、为已经存在的表添加新列。
alter table 表名 add 列名 类型;
10、修改已经存在的列的数据类型
altter table 表名 modify 列名 新的类型;
11、修改列名
alter table 表名 change 旧列名 新列名 类型;
12、删除列
alter table 表名 drop 列名;
13、修改表名
rename table 表名 to 新表名;
14、修改字符集
alter table 表名 character set 字符集;
15、截断表:截断表的作用是把原来的表摧毁,重新创建一个结构和原来一模一样的新表
truncate table 表名;
三、对数据的管理
1、插入单行数据的通用语法:
insert into 表名 ( 列名1 ,列名2, ......列名n )
valuse (值1, 值2, ... 值n);
2、给所有列赋值
写法1:所有的列名都写出来,语法如下:
insert intro 表名 (列名1, 列名2, 列名3…)
values (值1, 值2, 值3);
方法2:省略列列表,语法如下:
insert into 表名 values (值1, 值2, 值3…);
3、给部分列赋值
要赋值的列名写出来:
insert into 表名 (列名1, 列名2, 列名3…)
values (值1, 值2, 值3);
4、插入日期值
sysdate(); 返回系统当前日期和时间,可直接使用或放在SELECT子句中使用
5、插入多行数据语法
也可以一次性向表中插入多行数据
insert into 表名 (列名1, 列名2, 列名3…)
values (值1, 值2, 值3),
(值1, 值2, 值3),
....
(值1, 值2, 值3);
注:值列表之间用逗号隔开
6、通过子查询可以一次性向表中插入多行数据,也叫蠕虫复制。作用就是将查询的结果集复制表中。
insert into 表名 (列名1, 列名2, 列名3…) 查询语句;
说明:
1、不必书写values子句
2、列名列表中列的位置、列的数量、数据类型,必须和子查询中列的位置、数量和类型相匹配
7、修改所有行
update 表名
set 列名1 = 值1,列名2 = 值2,....列名n = 值n;
说明:set子句用来限定修改哪些列,一次可以修改一个列,也可以同时修改多个列,每个列之间用逗号分割。
8、修改部分行
update 表名
set 列名1 = 值1,列名2 = 值2,....列名n = 值n
where 条件表达式;
说明:where子句用来过滤修改哪些行。
9、删除所有行
delete from 表名;
10、删除部分行
delete from 表名
where 条件表达式;