SQL语句
操作数据库
创建数据库
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...]
create_specification:... [DEFAULT] CHARACTER SET charset_name. | [DEFAULT] COLLATE collation_name
创建一个名称为mydb1的数据库:
create database mydb1;
创建一个使用gbk字符集的mydb2数据库:
create database mydb2 character set gbk;
创建一个使用utf8字符集,并带校对规则的mydb3数据库:
create database mydb3 character set utf8 collate utf8_bin;
查看数据库
显示数据库语句:
SHOW DATABASES
显示数据库创建语句:
SHOW CREATE DATABASE db_name
查看当前数据库服务器中的所有数据库:
show databases;
查看前面创建的mydb2数据库的定义信息:
show create database mydb2;
修改数据库
ALTER DATABASE [IF NOT EXISTS] db_name..[alter_specification [, alter_specification] ...]
alter_specification:... [DEFAULT] CHARACTER SET charset_name. | [DEFAULT] COLLATE collation_name
查看服务器中的数据库,并把其中mydb2字符集修改为utf8:
alter database mydb2 character set utf8;
删除数据库
DROP DATABASE [IF EXISTS] db_name
删除前面创建的mydb1数据库:
drop database mydb1;
选择数据库
进入数据库:use db_name;
查看当前所选的数据库: select database();
操作表
创建表
CREATE TABLE table_name
(
field1 datatype,
field2 datatype,
field3 datatype,
);
[character set 字符集] [collate 校对规则]
field:指定列名 datatype:指定列类型
MySQL常用数据类型:
字符串型:VARCHAR、CHAR
大数据类型:BLOB、TEXT
数值型:TINYINT 、SMALLINT、INT、BIGINT、FLOAT、DOUBLE
逻辑型:BIT
日期型:DATE、TIME、DATETIME、TIMESTAMP
定义单表字段的约束:
定义主键约束
primary key
:不允许为空,不允许重复
删除主键:alter table tablename drop primary key;
主键自动增长 :auto_increment
定义唯一约束
unique
例如:name varchar(20) unique
定义非空约束
not null
例如:salary double not null
外键约束
创建一个员工表employee
create table employee(
id int primary key auto_increment,
name varchar(20) unique,
gender bit not null,
birthday date,
entry_date date,
job varchar(40),
salary double,
resume text
);
查看表
查看表结