MYSQL的基本命令
mysql常用命令
查看数据库
show databases ;
创建数据库
create database 数据库名;
删除数据(库中的表也一并删除)
drop database 数据库名;
使用数据库(这条命令不加;也可以运行)
use 库名;
创建表的语法
create table 表名 (字段名称 数据类型 字段2 数据类型);
创建表实例
create table student
(
student_id int unsigend,
name varchar(30),
sex char(1),
birth date,
primary key(student_id)
);
插入数据语法
insert into 表名 (字段1,字段2.。。。) values (值1,值2.。。。);
插入数据
insert into student(student_id,name,sex,birth) values
(1,‘make‘,’m‘,’1996-01-01‘);
查看当前库中有那些表
show tables;
查询表中的数据
select *|字段 from 表名;
查看student表中所以的信息
select * from student;
查询student表中name的信息
select name from student;
查询MySQL版本号
select version();
创建表的语法
CREATE TABLE <表名>
(
字段1 数据类型[完整性约束条件],
字段2 数据类型[完整性约束条件],
…
);
完整性约束条件 说明:
PRIMARY KEY 标识该属性为该表的主键,可以唯一地标识对应的数据
FORELGN KEY 标识该属性为该表的外键,是与之联系的某表的主键
NOT NULL 标识该属性不能为空值
UNIQUE 标识该属性的值是唯一的
DEFAULT 为该属性设置默认值
AUTO_INCREMENT 标识该属性值自动增加
创建主键的两种方式(一个表里面只能有一个主键 主键是唯一的)
1.标识写在我们规范的数据类型后面
主键语法:
字段名 数据类型 PRIMAPY KEY
2.在定义完所有列之后指定主键
主键语法:
(
字段名 数据类型;
PRMIMAPY (字段名)
);
多字段复合主键
当单个字段无法确认唯一值的时候,可以通过把多个字段设置为主键确保值的唯一性。
PRIMARP KEY [字段一,字段二,。。。]
CREATE TABLE biao
(
name VARCHAR(20),
age INT(11),
birth DATEEIME,
address VARCHAR(50),
PRIMARP KEY [字段一,字段二,。。。]
);
外键
外键用来在两个表之间建立连接。可以是一列或者是多列。
谁创建外键谁就是子表
语法:
[CONSTRAINT <外键名(我们要给外键取名字否则MySQL会自动取名字)>] FOREIGN KEY(字段1)[,字段2...] REFERENCES
<父表名>(主键列)[,主键列2...]
如果父表是复合主键 我们需要先关联第一个主键
关联的父表字段必须是父表主键
两个表关联的字段的数据类型需要一样
插入数据时 需要先将子表的关联外键键值进行插入到父表 子表才能插入成功
一个表可以有多个外键,多个表也可以关联一个表中的一个字段
非空约束 NOT NULL
代表设置为非空的列不能向这个列中插入空值
字段名 数据类型 NOT NULL
唯一性约束表示该字段值不能重复出现
[CONSTRAINT <约束名>] UNIQUE(字段1)
SHOW CREATE TABLE 表名\G:查看表的详细信息
默认值约束
在创建表的时候可以指定给一个字段设置默认值,如果插入数据时没有给设定默认值等等字段插入数据,那么数据库将自动给这个字段插入默认值。
语法
字段名 数据类型 default 默认的值
DESC 表名;:查看表结构(缩写)
DESCRIBE 表名; :查看表结构(全拼)
设置表属性自动增加
AUTO_INCREMENT,用来给新的记录生成唯一的ID使用的
字段名 数据类型 AUTO_INCREMENT;
要想给一个不为主键的字段添加属性自动增加 我们需要加上一个UNIQUE(唯一性约束)
清空表数据:
DELETE FROM 表名(清空表数据时不会释放表空间)清空后我们的表属性继续增加还是会接着增加
TRUNCATE TABLES 表名(清空表数据时清空表空间) 清空后我们的表属性继续增加会重新开始增加
创建表的时候修改存储引擎
创建表的括号后面加上ENGINE=存储引擎;之后进行回车
查看警告 (如果第一次敲错warnings 则无法查看 需要再次出现warning可进行查看)show warnings;
修改数据表
1.修改数据表名
ALTER TABLE <旧表名> RENAME [to] <新表名>;
2.修改数据类型
ALTER TABLE <表名> MODIFY <字段名> <数据类型> ;
3.修改字段名
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;
4.添加字段
ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST|AFTER 已经存在的字段名];
5.修改字段的排列的位置
ALTER TABLE <表名> MODIFY <字段名> <数据类型> [FIRST|AFTER 已经存在的字段名];
6.删除字段
ALTER TABLE <表名> DROP 字段名;
7.更改表的存储引擎
ALTER TABLE <表名> ENGINE=要修改的引擎名;
8.删除数据表
DROP TABLE 表名;
DROP TABLE [IF EXISTS] 表1,表2...;如果存在则删除 否则不会报错(可以show warnings进行查看删除的详细信息)
9.删除外键约束
ALTER TABLE <表名> DROP FOREIGN KEY <外键名>;
10.删除主键
ALTER TABLE <表名> DROP PRIMARY KEY;
11.添加主键 不修改字段(也可以添加其他约束条件,不可以修改外键约束)
ALTER TABLE <表名> MODIFY <字段名> <数据类型> <完整性约束条件>;
12.添加外键约束条件 (可以添加所有的约束条件)
ALTER TABLE <表名> ADD <字段名> <数据类型> <外键的约束条件[CONSTRAINT <外键名(我们要给外键取名字否则MySQL会自动取名字)>] FOREIGN KEY(字段1)[,字段2...] REFERENCES
<父表名>(主键列)[,主键列2...]>;
13.修改约束条件
ALTER TABLE <表名> DROP KEY <字段名>;