增、删、改、查
库DATABASE
1,创建数据库【增】
create databasedbname charset utf8;
#创建 数据库 库名 设置编码 UTF8
2,查询库【查】
show create databasedbname;
#查询数据库的 创建信息
show databases;
#列出所有存在的数据库名
3,改数据库【改】
alter databasedb1 charset gbk;
#更改 数据库 名 编码格式 GBK
#更改数据库名为db1的数据库编码为gbk。
4,删除数据库【删】
drop databasedb1;
#删 数据库 名
表TABLE
切换库: use DataBaseName;( 库等同于文件夹,切换库就如同切换文件夹 )
查看当前库: select database();(查看当前所在的库名,就相当于查看当前文件夹名)
表的操作就是在库(文件夹)内部操作,每一个表就相当于是库中的文件,表名就是文件名,表内容就是文件内容。创建的表会生成两个文件,一个是*.frm 另一个是 *.ibd。
1,创建表【增】
#语法形式create table表名(
字段名1 类型[(宽度) 约束条件],
字段名2 类型[(宽度) 约束条件],
字段名3 类型[(宽度) 约束条件]);
#字段间用','逗号分开,最后一个不要有','逗号。
#语句样式create table t1(id int,name char);
#创建 表 表名 (列名 属性)
2,查询表【查】
show create tablet1;
#查询 已创建 表的属性信息 “\G”使用后会格式化显示。desct1;
#与上一条一样,查询已创建表的属性信息。
show tables;
#查询当前库中所有表的名字。
3,修改表结构【改】
#修改表名alter tablet1 rename newt1
#修改 表 表名 改名 新表名
#增加字段alter table t1 add remarks char(10);
#修改 表 表名 增加 字段名 字段类型alter table t1 add remarks char(10),add remarks2 char(11);
#注:添加多个字段用','逗号分隔,';'分号结束,但都需要 ADD字段名 数据类型 格式。alter table t1 add newfield intfirst;
#修改 表 表名 增加 字段名 字段类型 添加最前面
#注:first 表示将该条字段添加到表的最前面。alter table t1 add newfield1 intafter name;
#修改 表 表名 增加 字段名 字段类型 在...后面 字段名
#注:after+字段名 意思是将新的字段名填加到某字段名之后。
#删除字段alter table t1 dropnewfield1;
#修改 表 表名 丢掉 字段名
#修改字段alter table t1 modify name char(10);
#修改 表 表名 属性 列名 属性值alter table t1 change name Name char(10);
#修改 表 表名 更改 列名(旧) 列名(新) 属性值
4,删除表【删】
drop tablet1;
#删 表 表名
复制表
1. 先建立一个空库 :create databasedb3 charset utf8;2. 使用新库:usedb3;3. 【方法一】复制目标库表中的字段:create table t1 select host,user from mysql.user;
新建 表 表名 查找 字段名 从 目标库.目标表;
#注:复制过后表的结构属性和表内字段数据一同都拷贝过来了。如果只想拷贝表结构,可以使用where条件或让where后的条件式不成立,这样就只拷贝表结构了。
#例:create table t1 select host,user from mysql.user where 1>5;
#【方法二】复制表结构:create table t1 like mysql.user;
#新建 表 表名 像 目标库.目标表
#注:只拷贝表结构,不含字段内容
记录Record
1,添加记录【增】
insert intot1(id,name) value (id,name);
#插入 到 表名(列名) 值 (列名)
#into可以不写,但建议写上,使语句结构完整易读,另外就算是一个列名也必须加括号。例:t1(name) value (name)insert intot1 value(id,name),(id,name);insert intot1(name) value (name),(name);
#插入 到 t1 值为(列名),如果指定了表中的某列,那么值也要按指定的格式赋值,如二例所示。
2,查表记录【查】
select id,name fromt1;
#查询 列名 从 表名select id,name fromdb1.t1;
#查询 列名 从 数据库名.表名select * fromt1;
#查询 所有列 从 表名
3,改表信息【改】
update db1.t1 set name='sly';
#更新 数据库名.表名 设置 列名=新值
#将数据库db1中的t1表中name列内容改为'sly'。update t1 set name='sly' where id=2;
#更新 表名 设置 列名=新值 条件 条件值
#更新 t1表中的name列的内容改为'sly,条件为id为2的记录。
4,删除记录【删】
delete fromt1;
#删除 从 表名
#删除t1表中的所有记录。delete from t1 where id=2;
#删除 从 表名 条件 条件值
SQL语句的基本概念
SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。SQL语言分为3种类型:
1、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER
2、DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT
3、DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
库的命名规则
可以由字母、数字、下划线、@、#、$
区分大小写
唯一性
不能使用关键字,如create select
不能单独使用数字
最长128位
使用help + 命令 可以查看SQL语句的用法.
表
表的类型就是存储引擎
一、查看MySQL支持的存储引擎
#命令
show engines;
注:MySQL支持多种存储引擎,是需要关注innoDB,MySQL的默认引擎。
二、指定表类型(存储引擎)
#例:create table t1(id int) engines=innoDB;
innoDB在库中是两张表。