SQL基本操作:
将SQL的基本操作根据操作对象进行分类,分为三类:库操作,表操作(字段),数据操作。
库操作:
对数据库的增删改查。
新增数据库:
基本语法:
create database 数据库名字[库选项];
库选项:用了约束数据库,分为两个选项
字符集设定:charset/character set 具体字符集(数据储存的编码格式);常用字符集:GBK和UTF-8
校对集设定:collae 具体校对集(数据比较的规则) 校对集依赖于字符集(当字符集变化,校对集也会变化)
--创建数据库
create database mydatabase charset utf8;
--数据库名字不可是关键字或保留字
--如果一定要使用关键字,需要加上反引号
create database `database` charset utf8;
--可以创建中文数据库,但需要在创建之前先设置 set names gbk;
*查看数据库:*
--查看所有数据库
show databases;
--查看指定部分的数据库:模糊查询
show database like ‘pattern’--pattern是匹配模式
%:表示匹配多个字符;
_:表示匹配单个字符
--查看以information_开始的数据库:_需要被转义
show databases like ‘information\_%’
show databases like 'information_%' --相当于information%
--查看数据库的创建语句
show create database 数据库名字;
*更新数据库:*
--数据库的名字不可以修改,仅可以修改库选项:字符集和校对集(校对集依赖字符集)
alter database 数据库名字[库选项];
charset/character[=] 字符集
collate 校对集
--修改数据库的字符集
alter database 数据库 charset GBK;
*删除数据库:*
drop database 数据库名字;
--注意:数据库不要随意删除,应该先进行备份后操作;
表操作:
表和字段是密不可分的。
*新增数据表*
create table if no exists]表名(
字段名字 数据类型;
字段名字 数据类型
)[表选项]
if no exists:如果表名不存在,那么就创建,否则不执行
表选项:控制表的表现
字符集:charset/character set 具体字符集
校对集:collate 具体校对集
存储引擎:engine 具体的存储引擎(innodb 和 myisam)
方案1:显示的知道表所属的数据库
create table 数据库名.表名()
方案2:先进入到数据库环境然后创建表
进入数据库环境:use 数据库名字;
*查看数据表*
--查看所有表
show tables;
--查看以s结尾的表
show table '%s';
--查看表创建语句
show create table student\g; --\g == ;
show create table student\G; --\G 将查看的结构旋转90度
--查看表结构
desc class;
*修改数据表*
表的修改分为两个部分:修改表本身和修改字段
表本身可以修改:表名和表选项
修改表名:rename table 老表 to 新表
修改字段:
新增字段:
alter table 表名 add[colunm] 字段名 数据类型 [列属性][位置];
位置:字段名可以存放表中的任意位置
first:放在第一个
after:在..之后,默认为最后一个
修改字段:
alter table 表名 modify 字段名 数据类型 位置
重命名字段:
alter table 表名 change 旧字段 新字段名字 数据类型
删除字段:
alter table my_student drop age;
*删除数据表*
drop table 表名;
数据操作:
新增数据
方案1:给全表字段插入数据,不需要指定字段列表:要求数据的值的出现的顺序必须与表中设计
的字段出现的顺序一致:凡是非数值数据,都需要使用引号(单引号)包裹
insert 表名 values(值列表),(值列表);
方案2:给部分字段插入数据,需要选的字段列表:值列表的顺序必须与选定的字段的顺序一致
insert into 表名(字段列表)values(值列表),(值列表);
*查看数据*
select */字段列表 from 表名 [where 条件];
*更新数据*
updata 表名 set 字段 = 值 [where条件]
*删除数据*
delete from 表名 [where 条件]
中文数据:
要设置字符集为GBK;才可以输入中文数据
set names gbk;
校对集问题
校对集:数据比较的方式
校对集有三种格式
_bin:binary:二级制比较,取出二进制,一位一位的比较,区分大小写
_cs:case sensitive,大小写敏感,区分大小写
_ci:case insensitive,大小写敏感,不区分大小写
查看数据库所支持的校对集: show collation;
校对集:必须在没有数据前声明好,如果有了数据,就无法修改,修改无效