初学 MySQL

新建数据库

MYSQL数据库设计规范与原则

字符集

选择通用的 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

存储类型及大小

Mysql支持的数据类型(总结)

英文使用一个字节,中文使用三个字节

在使用 Navicat 时,例如 varchar(20) 代表的含义是 varchar 的这个存储结构里面有 20 个字符,“a” 代表一个字符,“哈” 代表一个字符

插入

mysql中常用的三种插入数据的语句

  • 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`) ;

持续更新中

你可能感兴趣的:(初学 MySQL)