美文网首页
SQL基础操作DDL(数据定义语句)+DCL(数据控制语言)+D

SQL基础操作DDL(数据定义语句)+DCL(数据控制语言)+D

作者: 新_WX | 来源:发表于2019-08-07 16:09 被阅读0次

DDL(数据定义语句)

一、库操作,定义

CREATE DATABASE wordpress CHARSET utf8mb4;                创建数据库
>>建库的规范:
    1.库名是小写
    2.库名不能是数字开头
    3.库名要和业务有关
    4.建库时要添加字符集
DROP DATABASE wordpress                                   删库
ALTER DATABASE wordpress CHARSET utf8mb4;                 修改库字符集
SHOW DATABASES;                                           查看所有库
SHOW CREATE DATABASE wordpress;                           查看wordpress数据库创建属性

二、表操作,定义

建表
示例:
CREATE TABLE xs (
id   INT         NOT NULL PRIMARY KEY  AUTO_INCREMENT COMMENT '学号',
NAME VARCHAR(64) NOT NULL  COMMENT '学生姓名',
age  TINYINT NOT NULL DEFAULT 0  COMMENT '年龄',
sex  CHAR(1) NOT NULL DEFAULT 'n' COMMENT '性别',
shengfen  ENUM('bj','sh','cq','tj') NOT NULL DEFAULT 'bj' COMMENT '省份',
shijian DATETIME NOT NULL DEFAULT NOW() COMMENT '入学时间'
)ENGINE=INNODB CHARSET=utf8mb4;
>>建表规范:
    1.表名小写,无数字开头,与业务有关。
    2.表中必须要有主键,一般是一个自增长的无关列
    3.选择合适的数据类型,字符长度要适中
    4.每个列非空,并设定默认值(default)
    5.每个列必须要有注释(comment)
    6.建表时必须设置存储引擎(engine)和字符集(charset)。
查表
DESC xs;                                   常用
SHOW CREATE TABLE xs;
show tables;
修改表
>>添加列:
(1).在xs表中,添加'手机号'列
ALTER TABLE xs ADD shoujihao CHAR(11) NOT NULL UNIQUE KEY COMMENT '手机号';  
(2).在xs表中,sex列后面添加'微信'列
ALTER TABLE xs ADD weixin VARCHAR(64) NOT NULL UNIQUE KEY COMMENT '微信号' AFTER sex
(2).在xs表中,第一列位置添加'QQ'列
ALTER TABLE xs ADD qq VARCHAR(64) NOT NULL UNIQUE KEY COMMENT 'QQ号' FIRST;

>>删除列:
ALTER TABLE xs DROP qq;                  会删除列中的所有数据,无法恢复,只有使用备份恢复

>>只改属性,不改列名(shoujihao列修改属性):
ALTER TABLE xs MODIFY shoujihao  VARCHAR(64) NOT NULL COMMENT '姓名';
>>列名和属性都修改(shoujihao列名改为sname):
ALTER TABLE xs CHANGE shoujihao sname VARCHAR(32) NOT NULL COMMENT '姓名';
删除表
drop table xuesheng;       会删除表中的所有数据,无法恢复,只有使用备份恢复
truncate table xuesheng;   清空表的区,数据清空,表定义保留

DCL(数据控制语言)

grant 权限 on 范围  to 用户  identified by 密码;
revoke 权限 on 范围  from 用户;

DML(数据操作语言)

用作biodegradable数据行的增,删,改,查。

录入数据(insert):
>>最规范的录入方法:
INSERT INTO xs(id,sname,age,sex,shengfen,shijian,NAME) VALUES(1,'新新',16,'m','tj',NOW(),123123)
>>简化写法:
INSERT INTO xs VALUES(2,'佳静',13,'w','bj',NOW(),1111)
>>针对性的录入数据:
INSERT INTO xs(NAME,age,sex,shengfen)
VALUES('wangwu',20,'f','tj');
>>批量录入数据:
INSERT INTO xs(NAME,age,sex,shengfen)
VALUES
('a',21,'f','tj'),
('b',21,'f','tj'),
('c',21,'f','tj');

>>查看表中的数据:
select * from xs;

>>修改数据(update):                            《注意:update语句必须要加where条件》
UPDATE xs SET age=15 WHERE id=2

>>逐行删除数据行(delete):                      《注意:delete语句必须要加where条件》
delete from xs where id=4;

(一)、面试题:以下语句的区别?
delete from t1;
truncate table t1;

答:
turncate:
(1)DDl语句,清空整表所有数据,按照区来删除的,属于物理删除,性能高。
(2)表所占用的空间会立即释放。
delete:
(1)DML语句,清空整表所有数据,按照行来删除,属于逻辑删除,性能低。
(2)表所占用的空间不会立即释放。

(二)、使用update替代delete实现伪删除

①.添加一个状态列state
ALTER TABLE xs ADD state TINYINT NOT NULL DEFAULT 1 ;
②.用update替代delete
原语句:
DELETE FROM xs WHERE id=6;
改写后:
UPDATE xs SET state=0 WHERE id=6;
③.业务语句进行调整
select * from xs;
改为:
select * from xs where state=1;

相关文章

  • SQL语句

    SQL语句分类: DDL 数据定义语言DCL 数据控制语言DML 数据操作语言 1、DDL 数据定义语...

  • GreenDao

    1.SQL语句分类 DDL数据定义语言DML数据操作语言DCL数据控制语言DQL数据查询语言 2.SQL语句 ①创...

  • 简单sql语句

    SQL 结构化查询语言 SQL语句分类DDL数据定义语言DML数据操纵语言DCL数据控制语言 1.DDL语句

  • 02-25 Mysql 基础语法

    -- sql 语法-- DDL(数据定义语言)-- DML(数据操作语言 )-- DCL(数据控制语言)-- --...

  • 总结-MySQL

    SQL语法 -- DDL(数据定义语言)-- DML(数据操作语言)-- DCL(数据控制语言)-- 注意:SQL...

  • SQL基础操作DDL(数据定义语句)+DCL(数据控制语言)+D

    DDL(数据定义语句) 一、库操作,定义 二、表操作,定义 建表 查表 修改表 删除表 DCL(数据控制语言) D...

  • 81.数据库的使用1。

    -- SQL语法-- DDL(数据定义语言)-- DML(数据操作语言)-- DCL(数据控制语言)-- 注意: ...

  • sql基础

    -- SQL语法-- DDL(数据定义语言)-- DML(数据操作语言)-- DCL(数据控制语言)-- 注意: ...

  • 2019-04-02 oracle

    select * from tab; sql 分类 ddl 数据定义语言 dml 数据操作语音dcl 数据控制语言...

  • 2019-02-25 sql语法

    SQL语法 DDL(数据定义语言)DML(数据操作语言)DCL(数据控制语言) 注意: SQL中大小写不敏感(大写...

网友评论

      本文标题:SQL基础操作DDL(数据定义语句)+DCL(数据控制语言)+D

      本文链接:https://www.haomeiwen.com/subject/kdaodctx.html