185****1226

2020-06-02   阅读量: 587

Mysql

真的不想打标题

扫码加入数据分析学习群

SQL语言分类

• 数据定义语言DDL:用于创建,修改,删除数据库中的各种对象(数据库、表、视图、索引等),常用命令有CREATE, ALTER, DROP

• 数据操作语言DML:用于操作数据库表中的记录,常用命令有INSERT, UPDATE, DELETE

• 数据查询语言DQL:用于查询数据库表中的记录,基本结构: SELECT <字段名> FROM <表或视图名> WHERE <查询条件>

• 数据控制语言DCL:用于定义数据库访问权限和安全级别,常用命令: GRANT, REVOKE

SQL书写要求

• SQL语句可以单行或多行书写,用分号结尾

• SQL关键字用空格分隔,也可以用缩进来增强语句的可读性

• SQL对大小写不敏感

• 用#或-- 单行注释,用/* */多行注释,注释语句不可执行

数据库的增删选查

• 查看数据库: show databases;

• 创建数据库: create database 数据库名称;

数据库名称不能与SQL关键字相同,也不能重复

• 选择使用数据库: use 数据库名称;

• 删除数据库: drop database 数据库名称

数据库基本结构

• 数据库:组织、存储和管理相关数据的集合, 同一个数据库管理系统中数据库名必须唯一

• 表:由固定列数和任意行数构成的二维表结构的数据集, 同一个数据库中表名必须唯一

• 字段:一列即为一个字段, 同一个表中字段名必须唯一

• 记录:一行即为一条记录

• 以字段为基本存储和计算单位,每个字段的数据类型必须一致

数据表的增删改查

• 创建数据表: create table 表名(…);

建表之前要先选择进入数据库: use 数据库名称;

建表时可以不指定约束条件,但是必须指定表名、字段名及每个字段的数据类型

表名不能与SQL关键字相同,同一个数据库下的表名不能重复

• 查看当前数据库中所有表: show tables;

• 查看表结构: desc 表名;

• 删除数据表: drop table 表名;

MySQL常用数据类型

• int:大整数型,有符号大小-2147483648~2147483647, 无符号大小0~4294967295,默认长度最多为11个数字,如int(11)

• float:单精度浮点型,默认float(10,2),表示最多10个数字,其中有2位小数

• decimal:十进制小数型,适合金额、价格等对精度要求较高的数据存储。默认decimal(10,0),表示最多10位数字,其中0位小数。

• char:固定长度字符串型,长度为1-255。如果长度小于指定长度,右边填充空格。如果不指定长度,默认为1。如char(10),‘abc ’

• varchar:可变长度字符串型,长度为1-255。必须指定长度,如varchar(10),‘abc’

• text:长文本字符串型,最大长度65535,不能指定长度

• date:日期型,‘yyyy-MM-dd’

• time:时间型,‘hh:mm:ss’

• datetime:日期时间型,‘yyyy-MM-dd hh:mm:ss’

• Timestamp:时间戳,在1970-01-01 00:00:00和2037-12-31 23:59:59之间,如1973-12-30 15:30,时间戳为:19731230153000

字符串类型和日期时间类型都需要用引号括起来

主键约束(primary key)

• 每个表中只能有一个主键

• 主键值须非空不重复

• 可设置单字段主键,也可设置多字段联合主键

联合主键中多个字段的取值完全相同时,才违反主键约束

• 添加主键约束:

列级添加主键约束: create table <表名> (<字段名1> <字段类型1> primary key, ……<字段名n> <字段类型n>);

表级添加主键约束: create table <表名>(<字段名1> <字段类型1>,......<字段名n> <字段类型n>,[constraint 主键约束名]

primary key(字段名1[,字段名2,...字段名n]));

唯一约束(unique)

• 指定字段的取值不能重复,可以为空,但只能出现一个空值

• 添加唯一约束:

列级添加唯一约束: create table <表名> (<字段名1> <字段类型1> unique,……<字段名n> <字段类型n>);

表级添加唯一约束: create table <表名> (<字段名1> <字段类型1,……<字段名n> <字段类型n>,[constraint 唯一约束名] unique

(字段名1[,字段名2...字段名n]));

自动增长列(auto_increment)

• 指定字段的取值自动生成,默认从1开始,每增加一条记录,该字段的取值会加1

• 只适用于整数型,配合主键一起使用

• 创建自动增长约束: create table <表名> (<字段名1> <字段类型1> primary key auto_increment,……<字段名n> <字段类型n>);

非空约束(not null)

• 字段的值不能为空

• 创建非空约束: create table <表名> (<字段名1> <字段类型1> not null,……<字段名n> <字段类型n>);

默认约束(default)

• 如果新插入一条记录时没有为该字段赋值,系统会自动为这个字段赋值为默认约束设定的值

• 创建默认约束: create table <表名> (<字段名1> <字段类型1> default value,……<字段名n> <字段类型n>);

外键约束(foreign key)

在一张表中执行数据插入、更新、删除等操作时, DBMS都会跟另一张表进行对照,避免不规范的操作,以确保数据存储的完整性。

• 某一表中某字段的值依赖于另一张表中某字段的值

• 主键所在的表为主表,外键所在的表为从表

• 每一个外键值必须与另一个表中的主键值相对应

• 创建外键约束: create table <表名> (<字段名1> <字段类型1>,……<字段名n> <字段类型n>,[constraint 外键约束名]

foreign key(字段名) references <主表>(主键字段));

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
13.7805 2 2 关注作者 收藏

评论(0)


暂无数据

推荐课程