总结今天学习的mysql语句
DOL:
- 进入mysql:mysql -uroot -p
- 查看数据库:show databases
- 进入数据库:use DATABASE'S_NAME
- 查看数据库中表:show tables
以上在doc下演示,以后的在工具中演示 mysql中大小写不敏感
- 创建库:create database if not exists DATABASE'S_NAME
- 创建表:create table if not exists TABLE'S_NAME(列名1 属性,列名2 属性,......)
-
1 create table if not exists mytable( 2 m_id INT PRIMARY KEY auto_increment,/* 设置m_id为int型 设约束为主键 (唯一不重复不为空)值递增长*/ 3 m_name VARCHAR(20) NOT NULL,/* 设置m_name为varchar 长度为20 约束为不为空*/ 4 m_gender VARCHAR(4) DEFAULT '男',/* 设置m_gender为varchar 长度为4 约束为默认值为男*/
5 m_IDno VARCHAR(19) UNIQUE/* 设置m_gender为varchar 长度为19 约束为唯一 (不重复可以为空)*/
6 )DEFAULT CHARSET=utf8/*设置表的字符编码*/ - 查看表的属性:desc TABLE'S_NAME
- 查看表的内容:select * from TABLE'S_NAME
- 增加表结构(列):alter table TABLE'S_NAME add 列名 列属性
- 修改表结构(列):alter table TABLE'S_NAME change 待修改列的列名 修改后的列名 属性 约束 如果只修改列的数据类型或约束待,那么修改列的列名和修改后的列名可以一样,可以用: alter table TABLE'S_NAME modify 列名 属性 约束
- 1 alter table mytable CHANGE m_phone m_emil VARCHAR(20)
- 删除表结构(列):alter table TABLE'S_NAME drop column 列名
- 1 alter table mytable DROP COLUMN m_emil
- 复制表:create table 新的表名 select * from 数据来源的表 where 1=0;*代表全部内容 可以换成需要的列 where 1=0 条件语句表示只复制表结构
- 创建索引:create index INDEX‘S_NAME on TABLE'S_NAME (列名1,列名2,....);索引通常创建在有主键后唯一约束上
- 删除索引:alter table TABLE'S_NAME drop index INDEX‘S_NAME
- 设置外键约束:constraint FK_TABLE'S_NAME_列名 foreign key (列名) referenges OTHERTABLE'S_NAME (关联列);OTHERTABLE'S_NAME (关联列) 指主表中的主键,外键和主表的主键关联
-
1 CREATE TABLE from_mytabele ( 2 f_ID INT PRIMARY key, 3 f_hight INT, 4 m_ID INT, 5 CONSTRAINT FK_fromMytable_MID FOREIGN KEY(m_ID) REFERENCES mytable(m_id)/*设置外键*/ 6 )DEFAULT CHARSET=utf8
- 删除唯一约束:alter table TABLE'S_NAME drop constraint Primar KeyNAME
- 增加外键:alter table TABLE'S_NAME add CONSTRAINT FK_fromMytable_MID FOREIGN KEY(m_ID) REFERENCES mytable(m_id)
- 删除外键约束:alter table TABLE'S_NAME drop foreign key 外键名
-
ALTER TABLE from_mytabele DROP FOREIGN KEY FK_fromMytable_MID
- 增加主键:alter table TABLE'S_NAME change 列 列 属性 primar key