DataBase-数据库
mariadb=mysql
https://doc.canglaoshi.org/
一、SQL(Structured Query Language)结构化查询语言
1、用于访问和处理数据库的标准计算机语言
2、语法特点
(1)SQL对关键字的大小写不敏感(windows)
(2)SQL语句可以单行书写,也可以多行书写,每行以分号结束
(3)SQL注释
3、mysql基本操作-ddl
(1)对数据库的常用操作
功能 | SQL |
---|---|
查看所有的数据库 | show databases; |
创建数据库 | create database [if not exists] mydb1[charset = utf8]; |
切换(选择要操作的数据库) | use mydb1; |
查看当前所在库 | select database(); |
删除数据库 | drop database [if exists] mydb1; |
(2)对数据库的常用操作-创建表
创建表格式:
create table [if not exists] 表名 (字段名1 类型[(宽度)] [约束条件] [comment '字段说明'],字段名2 类型[(宽度)] [约束条件] [comment '字段说明'],字段名3 类型[(宽度)] [约束条件] [comment '字段说明']
) [表的一些设置]
注:
(1)常见的数据类型有:①数值类型;②日期和时间类型;③字符串类型;
①数值类型
类型 | 大小 | 用途 |
---|---|---|
TINYINT | 1byte | 小整数值 |
INT或INTEGER | 4byte | 大整数值 |
DOUBLE | 8byte | 浮点数值 |
tinyint范围:[0,255]
int范围:[-2147483648,2147483647]
②字符串类型
类型 | 大小 | 用途 |
---|---|---|
CHAR | 0-255byte | 定长字符串 |
VARCHAR | 0-65535 | 变长字符串 |
③日期类型
类型 | 大小 | 格式 | 用途 |
---|---|---|---|
DATE | 3byte | YYYY-MM-DD | 日期值 |
DATATIMESTAMP | 8byte | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
TIMESTAMP | 4byte | YYYYMMDDHHMMSS | 混合日期和时间值,时间戳 |
(2)如果是字符串类型,会有宽度的限制,宽度填多少就代表字符串有多长;
如果是数值类型,比如INT(1),1不代表数据的长度,如果插入了大于显示宽度的值,只要不超过该类型的取值范围,数值依然能够显示出来
(3)对表结构的常用操作
功能 | SQL |
---|---|
查看当前数据库的所有表 | show tables; |
查看指定某个表的创建语句 | show create table 表名 |
查看表结构 | desc 表名; |
删除表 | drop table 表名; |
5、mysql数据库基本操作-DML
数据操作语言,用户对数据表中数据记录进行更新、删除、插入等操作
关键字:insert(插入)、delete(删除)、update(更新)
(1)数据插入
语法格式:
#向表中指定某些列插入数据
insert into 表名 (列名1,列名2,列名3...) values (值1,值2,值3...);#向表中所有列插入数据
insert into 表名 values (值1,值2,值3);
注:插入数据两种格式均可,SQL语句是以分号结尾,可以在一条insert语句中可以同时插入多个列表值,values只需要写一次,括号之间用逗号隔开
create database if not exists mydb1;#创建员工表
create table if not exists emp(eid int(1) comment '员工编号',ename varchar(1) comment '员工姓名'
);insert into emp VALUES
(-2147483648,'A'),
(21333,'B');select * from emp;create table computer(brand char(3),bid int(2),product varchar(5)
);insert into computer values ('华为',10,'中国深圳');insert into computer values ('惠普',1001,'拉斯维加斯');insert into computer values ('戴尔',2147483647,'美国');show tables;show create table emp;desc emp;drop table computer;create table if not exists student (sid int comment '学号',name varchar(20) comment '姓名',gender varchar(20) comment '性别',age int comment '年龄',birth date comment '出生日期',address varchar(20) comment '家庭地址'
);#向student表中sid,name,gender,birth字段添加数据
insert into student(sid,name,gender,age,birth)
values
(1001,'张三','男',20,'1994-12-01');#向student表中所有字段添加数据
insert into student
VALUES
(1002,'赵敏','女',18,'1995-12-03','上海');#向student表中所有字段添加多个数据
insert into student VALUES
(1003,'张三丰','男',88,'1918-08-13','北京'),
(1004,'张无忌','男',36,'1983-07-11','北京');