创建 create
修改 alter
删除 drop
查看 show
1.1创建数据库
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
COLLATE:指定数据库字符集的比较方式(校对规则)
create database mydb1;
create database mydb2 character set utf8;
create database mydb3 character set utf8 collate utf8_general_ci;
1.2 查看删除数据库
显示数据库语句:
SHOW DATABASES
显示数据库创建语句:
SHOW CREATE DATABASE db_name
数据库删除语句:
DROP DATABASE [IF EXISTS] db_name
show databases;
show create database mydb2;
drop database mydb3;
1.3 修改,备份、恢复数据库
ALTER DATABASE [IF NOT EXISTS] db_name [alter_specification[,alter_specification] ...]
alter_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
备份数据库表中的数据mysqldump -u 用户名 –p密码 数据库名 > 文件名.sql
恢复数据库Source 文件名.sql
alter database mydb2 character set gbk;
1.4 创建表
CREATE TABLE table_name
(
field1 datatype,
field2 datatype,
field3 datatype
)character set charsetname collate collatename
field:指定列名 datatype:指定列类型
分类 |
数据类型 |
说明 |
数值类型 |
BIT(M) bit bit(8) TINYINT [UNSIGNED] [ZEROFILL] byte BOOL,BOOLEAN boolean SMALLINT [UNSIGNED] [ZEROFILL] short INT [UNSIGNED] [ZEROFILL] int BIGINT [UNSIGNED] [ZEROFILL] long FLOAT[(M,D)] [UNSIGNED] [ZEROFILL] float DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL] double |
位类型。M指定位数,默认值1,范围1-64 带符号的范围是-128到127。无符号0到255。 使用0或1表示真或假 2的16次方 2的32次方 2的64次方 M指定显示长度,d指定小数位数 表示比float精度更大的小数 |
文本、二进制类型 |
CHAR(size) char(20) max—255 abc VARCHAR(size) varchar(20) 65535 abcde String BLOB LONGBLOB 大的二进制数据 TEXT(clob) LONGTEXT(longclob) 大文本数据 |
固定长度字符串 可变长度字符串 二进制数据 大文本 |
时间日期 |
DATE/DATETIME/TimeStamp |
日期类型(YYYY-MM-DD) (YYYY-MM-DD HH:MM:SS),TimeStamp表示时间戳,它可用于自动记录insert、update操作的时间 |
注意:创建表前,要先使用use db语句使用库。显示数据库中的所有表 show tables
create table person(name varchar(20),age int);
ALTER TABLE table ADD (column datatype [DEFAULT expr] [, column datatype]...);
ALTER TABLE table MODIFY (column datatype [DEFAULT expr][, column datatype]...);
ALTER TABLE table DROP (column);
alter table person add account int;
Insert语句 (增加数据)Update语句 (更新数据)Delete语句 (删除数据)Select语句 (查找数据)
INSERT INTO tablename [(column [, column...])]VALUES (value [, value...]);
插入空值,不指定或insert into table value(null) // “”
UPDATE tbl_name SET col_name1=expr1 [, col_name2=expr2 ...][WHERE where_definition]
delete from tbl_name [WHERE where_definition]
SELECT [DISTINCT] *|{column1, column2. column3..} FROM table;
Select 指定查询哪些列的数据。column指定列名。*号代表查询所有列。From指定查询哪张表。DISTINCT可选,指显示结果时,是否剔除重复数据
create table student(
id int,
name varchar(20),
chinese float,
english float,
math float
); insert into student(id,name,chinese,english,math) values(1,'张小明',89,78,90);
insert into student(id,name,chinese,english,math) values(2,'李进',67,53,95);
insert into student(id,name,chinese,english,math) values(3,'王五',87,78,77);
insert into student(id,name,chinese,english,math) values(4,'李一',88,98,92);
insert into student(id,name,chinese,english,math) values(5,'李来财',82,84,67);
insert into student(id,name,chinese,english,math) values(6,'张进宝',55,85,45);
insert into student(id,name,chinese,english,math) values(7,'黄蓉',75,65,30);
SELECT*|{column1|expression, column2|expression,..}FROM table;
SELECT column as 别名 from 表名;
比较运算符 |
> < <= >= = <> |
大于、小于、大于(小于)等于、不等于 |
BETWEEN ...AND... |
显示在某一区间的值 |
|
IN(set) |
显示在in列表中的值,例:in(100,200) |
|
LIKE ‘张pattern’ |
模糊查询 |
|
IS NULL |
判断是否为空 |
|
逻辑运算符 |
and & |
多个条件同时成立 |
or | |
多个条件任一成立 |
|
not ! |
不成立,例:where not(salary>100); |
Like语句中,% 代表零个或多个任意字符,_ 代表一个任意字符,例first_name like ‘_a%’;
SELECTcolumn1, column2. column3..FROM table order by column asc|desc
Order by 指定排序的列,排序的列即可是表中的列名,也可以是select 语句后指定的列名。Asc升序、Desc降序ORDER BY 子句应位于SELECT语句的结尾。
Select count(*)|count(列名) from tablename [WHERE where_definition]
Select sum(列名){,sum(列名)…} from tablename [WHERE where_definition]
Select avg(列名){,avg(列名)…} from tablename [WHERE where_definition]
Select max(列名) from tablename [WHERE where_definition]