# 学习分享
sql 分类:
DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;
DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);
DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别;
DQL(Data Query Language):数据查询语言,用来查询记录(数据);
sql语法要求:
- SQL 语句可以单行或多行书写,以分号结尾;
- 可以用空格和缩进来来增强语句的可读性;
- 关键字不区别大小写,建议使用大写;
DDL
创建数据库:
CREATE DATABASE mydb1
进入数据库:
USE +库名
USE mydb1
删除数据库:
DROP DATABASE +库名
DROP DATABASE mydb1
创建表:
先创建数据库再进入要创建表的那个数据库
CREATE DATABASE mydb1;
USE mydb1;
CREATE TABLE 表名(
列名1 数据类型,
列明2 数据类型,
......
)
CREATE TABLE stu(
sid INT,
sname VARCHAR(12)
);
查询库里面有什么表 :
SELECT NAME FROM SYS.TABLES
查询表的结构:
EXEC sp_columns '表名'
EXEC sp_columns 'stu'
删除表:
DROP TABLE 表名
DROP TABLE stu
表添加列:
ALTER TABLE 表名 ADD 列名 数据类型
ALTER TABLE stu ADD sclassname VARCHAR(8)
修改列的类型:
ALTER TABLE 表名 ALTER COLUMN 列名 新的数据类型
ALTER TABLE stu ALTER COLUMN sname CHAR(10)
修改表或者列名字:
修改列名:EXEC sp_rename '表名.列名', '新列名'
修改表名:EXEC sp_rename '表名', '新表名'
EXEC sp_rename 'stu.sname','name'
删除列:
ALTER TABLE 表名 DROP COLUMN 列名
ALTER TABLE stu DROP COLUMN sclassname
DML
插入数据:
INSERT INTO 表名(列名1,列名2,....) VALUES (内容1,内容2,...) 一一对应的添加信息
OR
INSERT INTO 表名 VALUES (内容1,内容2,内容3,....)会按照顺序添加到表内
INSERT INTO stu(sname,sid) VALUES ('张三',001);
INSERT INTO stu VALUES (002,'李四','一班');
INSERT INTO stu VALUES (003,'王五','三班');
INSERT INTO stu VALUES (004,'赵六','三班');
修改数据:
UPDATE 表名 SET 列名1=新内容, 列名2=新内容 [WHERE 条件]
UPDATE stu SET sname = '李华' WHERE sname = '李四'
UPDATE stu SET sid=002,sclassname='三班' WHERE sname='李华'
条件可以是多条 可以用AND,OR连接
条件也可以是IS NULL 或是是IS NOT NULL
UPDATE stu SET sclassname='二班' WHERE sclassname IS NULL;
UPDATE stu SET sclassname='一班' WHERE sid=003 AND sid=004;
删除数据:
DELETE FROM 表名 [WHERE 条件]
DELETE FROM stu WHERE sclassname='二班'