SQL基础语法(四个分类、库和表的增删改)

三、SQL基础语法

SQL的分类

·DDL:(数据定义语言) (Data Definition Language) 对库和表进行操作

create     创建库、表、索引、视图、用户

alter        修改库字符集、表结构、索引、视图、用户、密码

drop        删除各种结构、库、表、视图、索引、用户

show       显示库、表

·DML:(数据操纵语言) (Data Manipulation Language) 对表中的数据进行添加、修改、删除

insert      在表中插入、添加数据

update    修改表中的内容

delete      删除表中的数据

·DQL:(数据查询语言) (Data Query Language) 对表中数据进行查询操作

select      根据条件查询内容、可以配合函数使用

·DCL:(数据控制语言) (Data Control Language) 对数据库进行权限管理、用户管理、事务管理

use          切换数据库

grant        权限设置

revoke      移除权限

DTL (事务控制语言) (Data Transaction Language)

commit     事务提交

rollback     回滚


SQL的关键字

库操作

# 查看所有库

show databases;

# 查看完整的创库语句(\G是按列排列)

show create database test\G;

下面是完整的创建库的语句:

CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */ /*!80016 DEFAULT ENCRYPTION='N' */

# 创建库:

create database 库名 charset utf8mb4;

Navicat:MySQL-01右键新建数据库——起个名称test——字符集utf8mb4——排序规则utf8mb4_unicode_ci(也可以默认)——确认(或者执行SQL语句效果一样);

# 删除库:drop database 库名;

Navicat:右键——删除数据库

# 修改库的字符集:alter database 库名 charset utf8mb4;(改错容易乱码)

表操作

# 查看表(要先进库里use 库名)

查看库中所有的表:show tables;

查看表的结构:desc 表名;

# 创建表

CREATE TABLE `mysql`.`Untitled`  ( `mysql`是库名,`Untitled`是表名

  `id` int NOT NULL AUTO_INCREMENT COMMENT '编号',

  `username` varchar(32) NOT NULL COMMENT '用户名',

  `password` varchar(128) NULL COMMENT '密码',

  `birthday` date NULL COMMENT '生日',

  `gender` enum('男','女','未知') NOT NULL COMMENT '性别',

  `phone` varchar(11) NOT NULL COMMENT '手机号',

  `address` varchar(255) NULL COMMENT '地址',

  `email` varchar(255) NULL COMMENT '邮箱',

  PRIMARY KEY (`id`)

);

# 查看创建表的完整语句

show create table user_info;

会出现(如果不小心删掉,可以通过复制完整语句、结尾加上;来创建表)

# 查看表结构

desc user_info;

Field字段(列名):字母、数字、下划线、不要和mysql关键字冲突,不要有特殊符号和空格。

Type数据类型:数字类型、字符类型、日期时间类型、二进制数据、json等……

Null是否可为空:YES可为空,NO不可为空,Not Null不能为空

Key键:主键、外键、唯一(都具有唯一性)、索引、非空等各种约束条件

Default默认值:在insert时,没有设置内容时,自动添加的内容

Extra扩展:例如auto_increment(自动增长,一般用于序号自动+1)

# 删除表:drop table 表名;

# 修改表的结构:alter

# 修改表名

alter table 原始表名 rename  to 新的表名;

# 修改字段名和字段类型

> 修改列的属性:change,modify(修改)

alter table user_info change  birthday  b_day date;

alter table user_info change  b_day    b_day datetime;

eg:输入alter table user_info change gender sex enum('F','M','N');

# 添加新的字段

alter table user_info add age tinyint unsigned;

> 如果你需要指定新增字段的位置,关键字 FIRST (设定位第一列), AFTER 字段名(设定位于某个字段之后)

alter table user_info add address varchar(64) after birthday;

# 删除已有的字段

alter table user_info drop age;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值