使用命令行连接MySQL
-p密码,中间没有空格
数据库管理系统三层结构
数据库中普通的表本质仍然是文件
SQL语句分类
对数据库操作
创建数据库
CREATE DATABASE [IF NOT EXISTS] dbname
[create_specification[, create_specification]...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
CREATE DATABASE db01#当数据库名称与关键字重名时,可以使用``反引号来解决
删除数据库
DROP DATABASE dbname#慎重使用
查看数据库
SHOW DATABASES#显示所有数据库
显示数据库创建语句
SHOW CREATE DATABASE db_name
备份和恢复数据库
备份的sql文件,就是对应的sql语句
#备份数据库(注意,只能在DOS执行)
mysqldump -u 用户名 -p密码 -B 数据库1 数据库2 数据库n > 文件名.sql
#恢复数据库(进入mysql命令行再执行)
Source 文件名.sql
#备份数据库里的表
mysqldump -u 用户名 -p密码 数据库 表1 表2 > 文件名.sql
对表操作
创建表
CREATE TABLE table_name
(
field1 datatype,
field2 datatype,
field2 datatype
)character set 字符集 collate 校对规则 engine引擎
删除表
修改表
#添加列
ALTER TABLE tablename
ADD (column datatype [DEFAULT expr])
#修改列
ALTER TABLE tablename
MODIFY (column datatype [DEFAULT expr])
#删除列
ALTER TABLE tablename
DROP (column)
#查看表的结构
desc 表名
#修改表名
Rename table 表名 to 新表名
#修改表字符集
ALTER table 表名 character set 字符集
#修改列名
ALTER TABLE 表名 CHANGE 列名 新列名 datatype
列类型
整型
create table t4(id tinyint [unsigned]);#默认有符号,unsigned指定无符号
BIT
小数
字符串
注意,char是固定长度字符串,最多255个字符;varchar可变长度字符串,最大2^16-1个字节,但是可以存放多少个字符串,需要根据编码方式来求。要先预留1-3个字节记录大小,utf8编码(中文3个字节每字符,英文字母1个字节每字符)
日期类型
timestamp在insert和update时自动更新
CREATE TABLE t14(
birthday DATE,
job_time DATETIME,
login_time TIMESTAMP
NOT NULL -- 不允许为空
DEFAULT CURRENT_TIMESTAMP -- 默认为当前时间
ON UPDATE CURRENT_TIME -- 自动更新,以当前时间进行更新
);