四、SQL语句

mysql内置的命令:

1、连接数据库
-u
-h
-p
-P
-S
-e:免交互执行sql语句
mysql -uxxdog -p123 -e “show databases”;
<:恢复数据
mysql -uxxdog -p123 < /tmp/aaa.sql

2、内置命令
help
\G
source 恢复备份

SQL基础应用:

1、SQL介绍
结构化的查询语言
关系型数据库通用的命令
遵循SQL92标准(SQL_MODE)

2、SQL常用种类
DDL(数据定义语言)
DCL(数据控制语言)
DML(数据操作语言)
DQL(数据查询语言)

3、SQL引入-数据库的逻辑结构
库:
库名
库属性:字符集、排序规则
表:
表名
表属性:存储引擎类型、字符集、排序规则
列名
列属性:数据类型、约束、其他属性
数据行

4、属性
字符集:
查看支持的编码 show charset;

collation:
查看排序规则 show collation;
对于英文字符串的,大小写敏感
utf8mb4_general_ci 大小写不敏感
utf8mb4_bin 大小写敏感(存拼音、日文)

数据类型:
数字
整数
浮点数
字符串
char:定长,未占满用空格填充,最多存255个字符
varchar:变长,单独分配空间存储字符串长度,<=255一个字节,>255两个字节
enum:枚举
时间
datetime
timestamp
二进制

5、SQL的应用
DDL语句:

创建:
create database test charset utf8mb4;
show create database test;
删除:
drop database test;
修改数据库字符集:(从小往大改)
alter database test charset utf8mb4;
建库规范:
库名使用小写字符,不以数字开头,不能是数据库内部的关键字
必须设置字符集


创建
表名、列名、列属性、表属性
show create table testable;
–列属性
PRIMARY KEY:主键约束,一个表只能有一个,非空且唯一
UNIQUE KEY:唯一
AUTO_INCREMENT:自增长的列
NOT NULL:非空约束
DEFAULT:和NOT NULL一起用
UNSIGNED:无符号
COMMENT:注释

CREATE TABLE zabbix (
id BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT ‘学号’,
name VARCHAR(255) NOT NULL DEFAULT ‘’ COMMENT ‘姓名’,
age TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT ‘年龄’,
gender ENUM(‘male’, ‘female’, ‘unknown’) NOT NULL DEFAULT ‘unknown’ COMMENT ‘性别’,
intime DATETIME NOT NULL DEFAULT NOW() COMMENT ‘入学时间’,
PRIMARY KEY(id)
) ENGINE INNODB CHARSET utf8mb4;

建表规范:
表名使用小写字符,不以数字开头
选择合适的数据类型和长度
每个列设置NOT NULL + DEFAULT
注释
表必须设置存储引擎和字符集
主键列尽量是无关数字列,最好是自增长

删除:
drop table testable;
修改表:
alter table testtable add wechar varchar(64) not null unique comment ‘微信号’ after name;

DCL:
grant
revoke

DML:
insert
update
delete

锁表问题???

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值