MySQL知识总结二(MySQL基本操作)
MySQL知识总结一(MySQL常见术语)
MySQL知识总结二(MySQL基本操作)
MySQL知识总结三(MySQL查询数据)
MySQL知识总结四(SQL注入)
MySQL知识总结五(MySQL函数和运算符)
- 1、创建数据库
- 2、进入数据库
- 3、删除数据库
- 4、创建数据库表
- 5、删除数据库表
- 6、查看表结构
- 7、插入数据
- 8、查询数据
查询数据详细版 - 9、UPDATE更新数据
- 10、DELETE删除数据
- 11、ALTER命令
- 12、NULL值处理
- 13、索引
- 14、临时表
- 15、复制表
- 16、处理重复数据
- 17、导入数据
- 18、导出数据
- 19、事务
1、创建数据库
CREATE DATABASE 数据库名;
>create database school;
2、进入数据库
USE 数据库名;
>use school;
3、删除数据库
DROP DATABASE 数据库名;
>drop database school;
4、创建数据库表
CREATE TABLE 表名 (字段1 字段1类型 字段1属性1 字段1属性2, 字段2 字段2类型, 字段3 字段3类型 字段3属性1, );
>create table student(stuNum int(9) unsigned zerofill not null primary key,
teaNum int(9) unsigned not null,
stuName varchar(11) not null,
stuAge int(3) unsigned,
stuIn date not null,
stuOut date)ENGINE=InnoDB DEFAULT CHARSET=utf8;
# 以上为创建一个表,名为"student",
# 学号("stuNum")为整型,个数为9位,不为空,且为主键,用0填充前置缺失的数字(注意:zerofill描述的位置);
# 老师编号("teaNum")为整型,个数为9位,不为空;
# 姓名("stuName")为字符类型,最长个数为10位,不为空;
# 年龄("stuAge")为整型,个数最长为3位;
# 入学时间("stuIn")为日期,不为空;
# 离校时间("stuOut")为日期;
# ENGINE 设置存储引擎,CHARSET 设置编码。(注:如果保存有中文,为了防止乱码,可以将数据编码格式设置为utf-8)
>create table if not exists teacher(teaNum int(9) unsigned not null,
teaName varchar(11) not null,
teaIn date not null,
teaOut date,
primary key(teaNum)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
# 部分同上
# if not exists 表名:如果此表不存在时创建此表;
>create table grade(rank int unsigned,
stuNum int(9) unsigned not null,
stuName varchar(11) not null,
teaNum int(9) unsigned not null,
Chinese int(3),
English int(3),
primary key(rank, stuName),
constraint g_stuNum foreign key(stuNum) references student(stuNum),
foreign key(teaNum) references teacher(teaNum))ENGINE=InnoDB DEFAULT CHARSET=utf8;
# 部分同上
# 设置联合主键排名和学生姓名('rank', 'stuName');
# 设置外键学生编号("stuNum"),引用表"student"中的"stuNum"字段,并取名为”g_stuNum“;
# 设置外键学生编号("teaNum"),引用表"teacher"中的"teaNum"字段,使用系统默认生成的名字;
在不同的数据库,对创建表的时候,要求不一样。sqlite中(int unsigned)无法设置长度;
在MySQL可以设置长度,但是自动增长的字段,该版本必须作为主键。具体字段的的要求根据自己的SQL数据库进行设计。
还有数据库可以设置:ENGINE 设置存储引擎,CHARSET 设置编码。
5、删除数据库表
DROP TABLE 数据表名;
>drop table student;
6、查看表结构
>show databases;
# 查看有哪些数据库。
>show tables;
# 查看该数据下有哪些表。
DESC 表名;
# 查看表的基本结构。
>desc student;
>+---------+--------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------------------+------+-----+---------+-------+
| stuNum | int(9) unsigned zerofill | NO | PRI | NULL | |
| teaNum | int(9) unsigned | NO | | NULL | |
| stuName | varchar(11) | NO | | NULL | |
| stuAge | int(3) unsigned | YES | | NULL | |
| stuIn | date | NO | | NULL | |
| stuOut | date | YES | | NULL | |
+---------+--------------------------+------+-----+---------+-------+
DESCRIBE 表名;
# 查看表的基本结构。
> describe grade;
+---------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+------------------+------+-----+---------+-------+
| rank | int(10) unsigned | NO | PRI | NULL | |
| stuNum | int(9) unsigned | NO | MUL | NULL | |
| stuName | varchar(11) | NO | PRI | NULL | |
| teaNum | int(9) unsigned | NO | MUL | NULL | |
| Chinese | int(3) | YES | | NULL | |
| English | int(3) | YES | | NULL | |
+---------+------------------+------+-----+---------+-------+
SHOW COLUMNS FROM 表名;
# 查看表的基本结构。
>show columns from teacher;
+---------+-----------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-----------------+------+-----+---------+-------+
| teaNum | int(9) unsigned | NO | PRI | NULL | |
| teaName | varchar(11) | NO | | NULL | |
| teaIn | date | NO | | NULL | |
| teaOut | date | YES | | NULL | |
+---------+-----------------+------+-----+---------+-------+
SHOW CREATE TABLE 表名;
# 查看创建该表结构的语句。
>show create table grade;
CREATE TABLE `grade` (
`rank` int(10) unsigned NOT NULL,
`stuNum` int(9) unsigned NOT NULL,
`stuName` varchar(11) NOT NULL,
`teaNum` int(9) unsigned NOT NULL,
`Chinese` int(3) DEFAULT NULL,
`English` int(3) DEFAULT NULL,
PRIMARY KEY (`rank`,`stuName`),
KEY `g_stuNum` (`stuNum`),
KEY `teaNum` (`teaNum`),
CONSTRAINT `g_stuNum` FOREIGN KEY (`stuNum`) REFERENCES `student` (`stuNum`),
CONSTRAINT `grade_ibfk_1` FOREIGN KEY (`teaNum`) REFERENCES `teacher` (`teaNum`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
SHOW FULL FIELDS FROM 表名;
# 查看表的详细结构。
> show full fields from grade;
+---------+------------------+-----------------+------+-----+---------+-----