1.数据库与数据管理系统
-
数据库是一个有组织的数据集合,包含多个表
-
数据管理系统是一个用来管理数据库的软件系统
-
MySQL和MariaDB
-
安装及配置MariaDB
2.SQL分类
-
DDL(数据定义语言):用于定义数据库和表的结构,例如创建,修改和删除数据库,表,列等.常见的DDL语句包括CREATE,ALTER,DROP
-
DML(数据操作语言):用于对数据库中的数据进行操作,例如插入,修改,删除,查询数据等.常见的DML语句包括SELECT,INSERT,UPDATE和DELETE
-
DCL(数据控制语言):用于控制数据库的访问和权限,例如授权,撤销权限等.常见的DML语句包括CRANT和REVOKE
-
TCL(事务控制语言):用于管理事务,例如提交,回滚,保存点等.常见的TCL语句包括COMMIT,ROLLBACK和SAVEPOINT
3.操作数据库
-
DDL:用于定义数据库和表的结构,例如创建,修改和删除数据库,表,列等
-
CREATE DATABASE
-
SHOW CREATE DATABSE/SHOW DATABASE
-
DROP DATABASE
-
SELECT 数据库名
-
USE 数据库名
4.操作表
-
CREATE TABLE
-
SHOW CREATE TABLE/SHOW TABLES
-
DESC 表名
-
RENAME TABLE ... TO ...
-
DROP TABLE 表名
5.修改表
- ALTER TABLE ...ADD COLUMN ..FIRST/AFTER
在表的末尾追加新的字段:
ALTER TABLE table_name ADD COLUMN column_name data_type;
在表的最开始插入新的字段:
ALTER TABLE table_name ADD COLUMN column_name data_type FIRST;
在表的任意位置插入新的字段:
ALTER TABLE table_name ADD COLUMN column_name data_type AFTER existing_column;
- ALTER TABLE ...DROP COLUMN...
删除表中的字段:
ALTER TABLE table_name DROP COLUMN column_name;
- ALTER TABLE ...RENAME COLUMN ..TO..
修改字段名称:
ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;
- ALTER TABLE ..MODIFY COLUMN...
修改字段长度:
ALTER TABLE table_name MODIFY COLUMN column_name data_type(new_length);
修改字段数据类型:
ALTER TABLE table_name MODIFY COLUMN column_name new_data_type;
6.INSERT 语句用于向表中插入数据
- 插入数据时,指定的字段名的顺序可以与表不相同,但是VALUES子句中指定的值要与指定的字段顺序,个数,类型都相同
INSERT INTO table_name (column1,column2,column3)
- 插入数据时可以忽略某些字段,此时插入的记录中没有指定的字段会插入该字段的默认值
INSERT INTO person(name) VALUES ('王五'); 没有指定age,则该条记录插入后age字段的值为NULL
- 可以使用DEFAULT关键字显示的为某个字段插入NULL值
INSERT INTO table_name (column1,column2,column3) VALUES (DEFAULT,value2,value3);
- 插入数据时可以不指定任何字段,此时为全列插入,VALUES子句要求指定的值的顺序,个数,类型必须与表一致
INSERT INTO table_name VALUES (value1,value2,value3..);
7.UPDATE语句用于修改表中数据
- 修改数据时通常会指定WHERE子句,否则为全表所有记录进行修改
UPDATE person SET age=36 WHERE name ='张三';
UPDATE table_name SET column1=expression1,column2 = expression2,.. WHERE condition;
8.DELETE语句用于删除表中的数据
- 删除数据时通常也要指定WHERE子句,否则是清空列表操作
DELETE FROM table_name WHERE condition;
DELETE FROM table_name;// 清空表
9.常用数据类型
-
整数类型:INT
-
小数类型:DECIMAL,DOUBLE
-
字符类型:CHAR ,VARCHAR
-
日期和时间类型:DATETIME
10.约束
-
主键:使用PRIMARY KEY 关键字来定义主键约束
-
自增:使用AUTO_INCREMENT关键字
-
非空:NOT NULL 用于指定列为非空约束
-
唯一:UNIQUE 用于指定列为唯一性约束
- 具有唯一性约束的字段,一张表中可以存在NULL值且可以重复
INSERT INTO user4(name,age) VALUES (NULL,36);
INSERT INTO user4(name,age) VALUES (NULL,47);
- 外键:使用FOREIGN KEY 关键字