SQL语句操作_DDL、DML
文章目录
1 通用语法
- SQL语句可以单行 或者 多行书写,以分号结尾 。
- 可以使用空格和缩进来增加语句的可读性。
- MySql中使用SQL不区分大小写。
2 注释语法
# 这是一个单行注释
-- 这是一个单行注释
/*
这是一个多行注释
作者
功能
细节
*/
3 DDL1操作数据库
3.1 创建数据库
-- 方式1 直接创建数据库
create database db;
-- 方式2 创建数据库时就指定字符集编码(一般都指定为utf8)
create database db_1 character set utf8;
3.2 选择/查看数据库
-- 切换/选择数据库
use db;
use db_1;
-- 查看当前使用的数据库
select database();
-- 查看mysql中有哪些数据库
show databases;
-- 查看数据库定义信息
show create database db;
show create database db_1;
3.3 修改数据库
-- 修改数据库字符集
alter database db character set utf8;
3.4 删除数据库
-- 删除数据库
drop database db_1;
4 DDL操作数据表
4.1 创建数据表
/*
-- 创建测试表
create table test1(
-- 定义字段信息
tid INT,
tdate DATE
);
-- 复制表结构创建新表(只复制表结构)
create table test2 like test1;
4.2 查看数据表
-- 查看当前数据库中有哪些数据表
show tables;
-- 查看数据表的建表语句
show create table test1;
-- 查看表结构
desc test2;
4.3 删除数据表
-- 删除数据库/表用drop,删除数据用delete
drop table test1;
-- 判断存在表再删除
drop table if exists test1;
4.4 修改数据表
-- alter 命令 + 不同的动作(add,modify,change,drop)
-- 修改表名
rename table category to category1;
-- 向分类表中添加一个新字段
alter table category1 add cdesc varchar(20);
-- 修改表中字段的数据类型
alter table category1 modify cdesc varchar(50);
-- 修改字段名称
alter table category1 change cdesc description varchar(30);
-- 删除字段
alter table category1 drop description;
5 DML 2操作表中数据
5.1 插入数据
-- insert into 表名(字段名1,字段名2,……) values(字段值1,字段值2,……)
-- 方式一,插入数据时,把所有字段名称全部显式写出
insert into student(sid,sname,age,sex,address) values(1,'张三',18,'女','北京');
-- 方式二,插入全部字段,不再写字段名称了
insert into student values(2,'李四',20,'男','北京');
-- 方式三,插入指定字段值
insert into student(sname,address) values('王五','杭州');
注意:
- 值与字段必须要对应,个数相同&数据类型相同。
- 值的数据大小,必须在字段指定的长度范围内。
- varchar char date类型的值必须使用单引号包裹。
- 如果要插入空值,可以忽略不写,或者插入null。
- 如果插入指定字段的值,必须要上写列名。
5.2 更改数据
-- 不带条件修改,所有行的address都修改为成都
update student set address = '成都';
-- 带条件的修改,修改sname = '王五'那行的address
update student set address = '成都' where sname = '王五';
-- 可以同时修改多个列
update student set address = '上海',sex = '女';
-- 修改特定行的多个列(用where限定条件)
update student set address = '上海',sex = '女' where sid = 2;
5.3 删除数据
-- 指定条件删除数据
delete from student where sid = 1;
-- 删除所有数据
-- 方式一,delete from 表名;多次删除记录,效率低
delete from student;
-- 方式二,truncate table 表名;先删整张表,再创建一张一样的,效率高,适用于表中数据多;数据不易恢复
truncate table student;
文章内容来源于拉勾教育数据分析实战训练营