一、创建数据库
1、语句:CREATE DATABSE [IF NOT EXISTS] 数据库名
(1)IF NOT EXISTS:如果不存在就创建
(2)CHARACTER SET:指定数据库采用的字符集,如果不写字符集,默认utf8
(3)COLLATE:指定数据库字符集的校对规则,如果不写,默认utf8_general_ci(常用utf8_bin区分大小写,utf8_general_ci不区分大小写)
(4)在创建数据库、表的时候,为了避免关键字,可以使用反引号解决``
2、示例
#创建数据库
CREATE DATABASE Test
#删除数据库
DROP DATABASE Test
#创建一个使用utf8字符集的Test数据库
CREATE DATABASE Test CHARACTER SET utf8
#创建一个使用utf8字符集,并带校对规则的Test数据库,utf8_bin区分大小写
CREATE DATABASE Test CHARACTER SET utf8 COLLATE utf8_bin
二、查询数据库
#显示数据库语句
SHOW DATABASES
#显示数据库创建语句
SHOW CREATE DATABASE test
#数据库删除语句(一定要慎用)
DROP DATABASE [IF EXISTS] test;
#使用数据库
USE test;
三、备份恢复数据库
1、备份数据库(注意:在DOS执行)
(1)备份中DOS下执行mysqldump指令其实在mysql安装目录\bin
mysqldump -u 用户名 -p -B 数据库1 数据库2 数据库n > 文件名.sql
(2)保存在了D盘Mysql的文件夹下,数据在test.sql里
mysqldump -u root -p -B test01 test02 > D:\\Mysql\test.sql
2、恢复数据库
(1)注意今天Mysql命令行在执行
source D:\\Mysql\test.sql
(2)第二个方法就是将test.sql的内容直接放到查询中运行
四、创建表
1、语句
CREATE TABLE `user`{
field1 datatype,
field1 datatype,
field1 datatype
}CHARACTER SET 字符集 COLLATE 校对规则 ENGINE 引擎
(1)field:指定列表
(2)datatype:指定列类型(字段类型)
(3)CHARACTER SET:如不指定则为所在数据库字符集
(4)COLLATE:如不指定则为所在数据库校对规则
(5)ENGINE:引擎(后面将,设计内容过多)
2、注意创建表时,要根据需保存的创建相应的列,并根据数据的类型定义相应的列类型
3、示例:
#创建表
CREATE TABLE `user` (
id INT,
`name` VARCHAR(255),
`password` VARCHAR(255),
`birthday` DATA
) CHARACTER SET utf8 COLLATE utf8_bin ENGINE INNODB;
4.1 创建表的练习
1、创建一个员工表emp,选用适当的数据类型
CREATE TABLE emp(
id INT,
`name` VARCHAR(32),
sex char(1), #男 / 女
birthday DATE, #只是年月日
entry_date DATETIME, #入职时间,记录年月日 时分秒
job VARCHAR(32),
salary DECIMAL,
`resume` TEXT #简历介绍
) CHARSET utf8 COLLATE utf8_bin ENGINE INNODB; #utf8_bin区别大小写
五、Mysql列类型(也可以叫 数据类型 或 字段类型)
5.1、数值类型

(1)整型
1、使用规范:在能够满足需求的情况下,尽量选择占用空间小的类型
2、设定一个无符号的整数 unsigned
CREATE TABLE `user` (
#无符号的
id INT UNSIGNED
)
CREATE TABLE `user` (
#默认是有符号的
id INT
)
(2)小数类型
1、FLOAT / DOUBLE [ UNSIGNED ]; FLOAT单精度 DOUBLE双精度
2、DECIMAL [ M , D ] [ UNSIGNED ]
(1)可以支持更加精确的小数位,M是小数位数(精度)的总数,D是小数点(标度)后面的位数
(2)如果D是0,则值没有小数点或分数部分(实际上就是个整数了)。
(3)M最大65;D最大30;如果D被省略,默认是0。如果M被省略,默认是10;
(4)如果希望小数的精度高,推荐使用decimal
CREATE TABLE t0(
num1 FLOAT,
num2 DOUBLE,
num3 DECIMAL(30,20)
);
#可以存放很大的数字如:82347897.2131874
CREATE TABLE t1(
num3 DECIMAL(65)
);