MySQL知识总结二(MySQL基本操作)

这篇博客总结了MySQL的基本操作,包括创建和删除数据库、数据库表,插入、查询、更新和删除数据,还涉及ALTER命令、NULL值处理、索引、临时表、复制表、事务等关键概念,是MySQL学习者的实用指南。
摘要由CSDN通过智能技术生成

MySQL知识总结二(MySQL基本操作)

MySQL知识总结一(MySQL常见术语)
MySQL知识总结二(MySQL基本操作)
MySQL知识总结三(MySQL查询数据)
MySQL知识总结四(SQL注入)
MySQL知识总结五(MySQL函数和运算符)

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;
+---------+------------------+-----------------+------+-----+---------+-----
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值