第3.5课 上课 SQL介绍, DDL主要语句介绍, DML主要语句介绍, D…
3_5

SQL深入介绍
DDL主要语句介绍
CREATE:创建表
-- 创建测试用的表
-- 如果e_user表存在就删除
DROP TABLE IF EXISTS e_user;
CREATE TABLE e_user(
id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
t_name varchar(10) DEFAULT NULL,
t_password varchar(50) DEFAULT NULL,
t_salary decimal(10, 2),
t_birthday date
)
desc e_user;
ALTER:修改表
修改列信息
-- 显示当前的数据库列表
show databases;
-- 创建数据库
create database 数据库名;
-- 选择需要使用的数据库
use 数据库名;
-- 创建表
CREATE TABLE `e_user` (
`ID` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`T_PASSWORD` varchar(50) DEFAULT NULL,
`T_NAME` varchar(10) DEFAULT NULL
)
-- 显示表的详细信息
show create table e_user;
-- 显示表 列信息
desc e_user;
-- 显示当前数据库中的所有表名
show tables;
-- 重命名表名
-- 语法: ALTER TABLE 旧表名 RENAME TO 新表名;
alter table e_user2 rename e_user;
-- 添加列:
-- 语法: ALTER TABLE 表名 ADD COLUMN 列名 列类型;
alter table e_user add column t_age int;
alter table e_user add column t_sex varchar(2);
alter table e_user add(t_phone varchar(11));
-- 删除列:
-- 语法: ALTER TABLE 表名 drop COLUMN 列名;
alter table e_user drop column t_sex;
-- 修改列名:
-- 语法: ALTER TABLE 表名 CHANGE 旧列名 新列名 新列类型;
alter table e_user change t_age t_age2 varchar(5);
-- 修改列属性:
-- 语法: ALTER TABLE 表名 MODIFY t_name varchar(10);
alter table e_user modify t_age2 int;
注意:只有当列只包含空值时,类型、大小都可以修改,否则修改可能不能成功。
DROP:删除表
语法结构:
DROP TABLE table_name [cascade];
cascade:用于指定级联删除从表的外部键约束;
DML主要语句介绍
INSERT:插入表数据
--当行插入
INSERT INTO table [(column [, column...])]
VALUES(value1..)[,(value2...), ...];
--多行插入
INSERT INTO 表名[(列名,…)]
SELECT 语句;
注意:
1.如果为每列都指定值,则表名后可以省略列出插入的列名;
2.如果不想在表名后列出列名,可以为那些无法指定的值插入null;
3.如果需要插入其他特殊字符,应该采用\转义字符做前缀
insert into e_user values(1,'lis','123456', 1000.0,'1980-09-22');
insert into e_user values(null,'admin','22222', 800.0,'1982-10-01');
insert into e_user(t_name,t_password,t_salary,t_birthday) values('tom','654321', 700.0,'1985-03-08');
insert into e_user values(null,'dave','654321', 900.0,'1985-10-01');
insert into e_user values(null,'Amy','987654', 950.0,'1990-11-13');
insert into e_user values(null,'Kim','321456', 750.0,'1991-12-05');
insert into e_user values(null,'Mary','321654', 850.0,null);
UPDATE:更新表数据
语法格式:
UPDATE table
SET column = value [, column = value] …
[WHERE condition];
DELETE:删除表数据
语法格式:
DELETE FROM table [WHERE condition];
注意:如果没有where子句,意味着删除表里面的所有数据。
DELETE、TRUNCATE、DROP的区别

TRUNCATE和DELETE都是删除表数据;
但是TRUNCATE相当于初始化,比如如果有自增长ID,用TRUNCATE删除后,自增长ID会从1开始,而DELETE则不会;
DROP用于删除表,数据库等;
浙公网安备 33010602011771号