1.使用 DDL 定义数据库表结构
CREATE DATABASE database_name
为区分 SQL 语句中的关键字,通常在进行语法定义时,将 SQL 语句中的关键字设为大写,
如“CREATE DATABASE”。 但 SQL 语 句 本 身 不 区 分 大 小 写, 即“CREATE DATABASE demo”“create dadabase demo”“create database DEMO”这三条语句意义相同。
DROP DATABASE database_name
查看数据库的 SQL 语句如下:
SHOW DATABASES
创建数据表的 DDL 语法如下:
CREATE TABLE table_name(
column_name data_type [NOT NULL] [DEFAULT default_value] [AUTO_INCREMENT] [],
...
[PRIMARY KEY(pk_name),]
[FOREIGN KEY(fk_name) REFERENCES referenced_table_name(ref_pk_name)]
)
使用 DDL 创建驾驶员表 :
字段名 |
说明 |
类型 |
长度 |
约束 |
driverID |
驾驶员编号 |
int |
— |
主键、自动增长 |
licenseNo |
驾照号码 |
varchar |
20 |
非空 |
name |
姓名 |
varchar |
20 |
非空 |
gender |
性别 |
varchar |
2 |
— |
birth |
出生年月 |
date |
— |
— |
use bus; -- 选择数据库
create table driver(
driverID int primary key auto_increment,
licenseNo varchar(20),
name varchar(20),
gender varchar(2),
birth date
)
2.使用 DDL 维护数据库表结构
ALTER TABLE 表名 修改子句
1.修改表结构
ADD column_name data_type [NOT NULL] [DEFAULT default_value]
CHANGE column_name new_column_name data_type [NOT NULL] [DEFAULT default_value]
更新字段子句表达式如下:
MODIFY column_name new_data_type [NOT NULL] [DEFAULT default_value]
删除字段子句表达式如下:
DROP COLUMN column_name
删除唯一约束子句表达式如下:
DROP UNIQUE constraint_name
alter table driver
add phone varchar(20),
change birth birthday date,
modify goodsName varchar(100),
drop column gender
重命名表的 DDL 语法如下:
RENAME TABLE table_name TO new_table_name
语法说明:
rename table employee to emp;
添加外键约束的语法如下:
ALTER TABLE table_name(
ADD CONSTRAINT constraint_name FOREIGN KEY(fk_name) REFERENCES referenced_table_name(ref_pk_name)]
)
删除外键约束子句表达式如下:
DROP FOREIGN KEY constraint_name
3.使用 DML 新增和更新表数据
INSERT [INTO] table_name[( 字段列表 )] VALUES( 值列表 )
(1)向字符串类型的 char、varchar、text 以及日期型字段插入数据时,字段值要括于单引号中。(在 MySQL 中单引号和双引号没有任何区别,但单引号为 SQL 标准,所以提倡使用单引号。)
(2)向自增型 auto_increment 字段插入数据时,建议插入 null 值,此时将向自增型字段插入下一个编号。
(3)向默认值约束字段插入数据时,字段值可以使用 default 关键字,表示插入的是该字段的默认值。
(4)插入新纪录时,需要注意表之间的外键约束关系,原则上先为主(父)表插入数据,然后再为从(子) 表插入数据。
INSERT INTO table_name[( 字段列表 )] VALUES
( 值列表 1),
( 值列表 2),
...
( 值列表 n)
update 语句的语法格式如下:
UPDATE table_name set
字段名 1= 值 1, 字段名 2= 值 2,..., 字段名 n= 值 n;
[WHERE 条件表达式 ]
4.使用 DML 删除表数据
DELETE FROM table_name [WHERE 条件表达式 ]
delete from line_new where company=' 公交二公司 ';
delete from line where lineNo='....';