第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用于删除表,数据库等;

posted on 2018-01-31 22:47  東風★破  阅读(158)  评论(0)    收藏  举报

导航