select version()
CREATE DATABASE `school`CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE TABLE `school`.`student` ( `id` INT(10) NOT NULL COMMENT ‘学员id‘, `name` VARCHAR(100) NOT NULL COMMENT ‘学员姓名‘, `age` INT(3) NOT NULL COMMENT ‘学员年龄‘, PRIMARY KEY (`id`) ) CHARSET=utf8 COLLATE=utf8_general_ci;
mysql -uroot -p
update mysql.user set authentication_string=password(‘123456‘) where user = ‘root‘ and Host = ‘localhost‘; --修改用户密码
flush privileges; --刷新权限
show databases; --查看所有的数据库
use school; --切换数据库,use 数据库名
show tables; --查看数据库中所有的表
describe student; --显示表中的所有字段
create databases sysdb; --创建一个数据库
exit; --推出连接
-- 单行注释(sql注释)
/* */ -- 多行注释
数据库语言:DDL 定义 DML 操作 DQL 查询 DCL 控制
操作数据库> 操作数据库中的表> 操作数据库中表的数据
mysql的关键字不区分大小写
CREATE DATABASE IF NOT EXISTS SYSDB;
DROP DATABASE IF EXISTS SYSDB;
-- 如果表名或者字段名是一个特殊的字符,就需要带着重号
USE `SCHOOL`;
show databases;
对照sqlyog操作查看对应的sql语句
固定的语法或者关键字需要牢记
Unsigned
无符号的整数
声明了该列不能为负数
zerofill
0填充的
不足的位数,使用0来填充
自增
通常理解为自增,自动在上一条记录的基础上+1(默认)
通常用来设计唯一的主键~index,必须是整数类型
可以自定义设计主键自增的起始值和步长
非空 NULL not NULL
假设设置为not null,如果不给他赋值,就会报错
NULL,如果不填写值,默认就是null
默认
设置默认的值
如果不指定该列的值,则有默认的值
扩展
每一个表必须存在以下五个字段,未来做项目用的,表示一个记录存在的意义
id 主键自增
version
乐观锁
is_delete 伪删除
gmt_create 创建时间
gmt_update 修改时间
--注意,使用英文括号,并且表名使用着重号括起来
--AUTO_INCREMENT 自增
--字符串使用‘‘括起来,所有语句后面需要加,,最后一条语句不需要加
--PRIMARY KEY 主键,一般一个表只有一个唯一的主键
CREATE TABLE IF NOT EXISTS `student` (
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT ‘学号‘,
`name` VARCHAR(30) NOT NULL DEFAULT ‘匿名‘ COMMENT ‘姓名‘,
`pwd` VARCHAR(20) NOT NULL DEFAULT ‘123456‘ COMMENT ‘密码‘,
`sex` VARCHAR(2) NOT NULL DEFAULT ‘女‘ COMMENT ‘性别‘,
`birthday` DATETIME DEFAULT NULL COMMENT ‘出生日期‘,
`address` VARCHAR(100) DEFAULT NULL COMMENT ‘家庭住址‘,
`email` VARCHAR(50) DEFAULT NULL COMMENT ‘邮箱‘,
PRIMARY KEY(`id`)) ENGINE INNODB DEFAULT CHARSET=utf8
CREATE TABLE [IF NOT EXISTS] `表名`(
`字段名` 列类型 [属性] [索引] [注释],
`字段名` 列类型 [属性] [索引] [注释],
……
`字段名` 列类型 [属性] [索引] [注释])
[表类型][字符集设置][注释]
原文:https://www.cnblogs.com/ziff/p/14723504.html