初学 MySQL
2017-03-20 本文已影响0人
Draper
新建数据库
字符集
选择通用的 utf-8
排序规则
- utf8_general_cs 区分大小写使用
- utf8_general_ci 不区分大小写使用
与 utf8_unicode_ci 相比,utf8_general_ci 虽然执行很快,但不支持拓展,与其他语言兼容性较差,总而言之如果关注语言则使用 utf8_unicode_ci,否则使用 utf8_general_ci
- utf8_bin 二进制存储数据,区分大小写
表
新建表
CREATE TABLE person (
number INT(11),
name VARCHAR(255),
birthday DATE
);
删除表
DROP TABLE table_name
存储类型及大小
英文使用一个字节,中文使用三个字节
在使用 Navicat 时,例如 varchar(20) 代表的含义是 varchar 的这个存储结构里面有 20 个字符,“a” 代表一个字符,“哈” 代表一个字符
插入
- INSERT 可以向表中插入数据
格式:
INSERT [INTO] table_name[( column_name_list)] { VALUES( EXPRESSION[,...n])}
例如:
insert into testtb(id,name,age)values(1,"bb",13);
select * from testtb;
insert ignore into testtb(id,name,age)values(1,"aa",13);
select * from testtb;//仍是1,“bb”,13,因为id是主键,出现主键重复但使用了ignore,则错误被忽略
replace into testtb(id,name,age)values(1,"aa",12);
select * from testtb; //数据变为1,"aa",12
删除
删除数据
- DELETE 用来删除表中的数据
格式
DELETE table_name [WHERE{condition_expression}]
如果没有 WHERE 中的条件判断,则删除所有数据
- TRUNCATE TABLE 用来清空表格
格式
TRUNCATE TABLE table_name
删除表
- DROP TABLE 用来一个或多个数据表
格式
DROP TABLE table_name[,...n]
例如:
DROP TABLE sign_up_table;
查找
SELECT 和 WHERE
- SELECT 用来查找
- WHERE 用来匹配
格式
SELECT [ * | column_name [,...n] ] WHERE search_conditions
例如:
- *代表所有列的信息
- LIKE 代表匹配相当于匹配,也可以用 = 判断
//查找 age 等于 20 岁的学生所有信息
SELECT * FROM student_table WHERE age LIKE 20;
//或是查找 age 等于 20 岁的姓名信息
SELECT name FROM student_table WHERE age LIKE 20;
创建索引
- UNIQUE: 建立的索引字段中不能有重复数据出现,创建的索引是唯一索引。如果不能使用这个关键字,创建的索引就不是唯一索引。
- NORMAL:正常的索引,没有任何限制。
- FULL TEXT:用于 MySQL 的全文搜索。
格式:
ALTER '[table_name]' ADD [UNIQUE | FULL TEXT] INDEX '[index_name]'('[column_name]');
ALTER TABLE `sign_up`
ADD INDEX `stn` (`stn`) ,
ADD UNIQUE INDEX `stu_id` (`stu_id`) ,
ADD FULLTEXT INDEX `hope` (`hope`) ;
持续更新中