查看数据库
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 <字段名>;