1、数据库表设计的几种情况
/*
数据库设计:
1、一对一
添加唯一外键指向另一张表的主键
2、一对多
多的一方设置外键指向一的一方主键
3、多对多
借助第三张表来实现关联,第三张表分别设置2个字段设置外键分别指向两张表的主键[......]
/*
数据库设计:
1、一对一
添加唯一外键指向另一张表的主键
2、一对多
多的一方设置外键指向一的一方主键
3、多对多
借助第三张表来实现关联,第三张表分别设置2个字段设置外键分别指向两张表的主键[......]
/****************************创建表、插入数据**********************************/
CREATE TABLE department (
id INT PRIMARY KEY auto_increment,
dept_na[......]
/*** 事务 ***/
# 如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。
# 默认情况下单条sql语句都是自动提交事务
# 操作:
# 1、开启事务:start transaction
# 2、回滚:rollback
# 3、提[......]
## 库操作
SHOW DATABASES;-- 查看数据库
CREATE DATABASE db;-- 创建数据库
USE db;-- 使用/切换数据库
SELECT DATABASE ();-- 查看当前数据库
DROP DATABASE db;-- 删除数据库
## 表操作
USE db1;-- 切换数据库
SHOW TABLES;-- 查看所有表
CREATE TABLE t_demo (-- 创建数据库
id INT PRIMARY KEY auto_increment,-- 指定该字段为主键,自增长
username VARCHAR (32),-- 字符长度为32个字节
update_time TIMESTAMP-- 时间戳类型,为空则自动填充为当前时间
) CHARACTER SET utf8mb4;-- 指定字符集的utf8mb4
CREATE TABLE t_demo_copy LIKE t_demo;-- 复制表
SHOW CREATE TABLE t_demo;-- 查看字符集或创建表语句
DESC t_demo;-- 查看表字段信息
ALTER TABLE t_demo ADD sex VARCHAR (3) AFTER username;-- 新增字段,after用于指定新字段位置
ALTER TABLE t_demo CHANGE sex gender VARCHAR (3);-- 修改某个字段的属性(名称、数据类型、字符集等)
ALTER TABLE t_demo MODIFY gender VARCHAR (3) DEFAULT '男';-- modify也可以用来修改字段属性
ALTER TABLE t_demo DROP gender;-- 删除某个字段
TRUNCATE TABLE t_demo;-- 清空整个表的数据
DROP TABLE t_demo_copy;-- 删除表
[……]
mysql> show variables like '%long_query_time%';
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 10.00000 |
+-----------------+----------+
1 row in set (0.00 sec)
mysql> show variables like '%slow%';
+---------------------------+--------------------------------+
| Variable_name | Value |
+---------------------------+--------------------------------+
| log_slow_admin_statements | OFF |
| log_slow_slave_statements | OFF |
| slow_launch_time | 2 |
| slow_query_log | ON |
| slow_query_log_file | /var/lib/mysql/ubuntu-slow.log |
+---------------------------+--------------------------------+
5 rows in set (0.00 sec)