一些命令行操作注意加 分号 " ; "
show databases 查看所有数据库
use 数据库名 切换数据库
show tables 查看数据库中所有表
describe 表名 显示表中所有信息
create database [if not exists] 新库名 创建数据库
drop database [if exists] 库名 删除数据库
exit 推出链接
SQL注释
--单行注释
/* */ 多行注释
数据库数据类型
数值类型
tinyint 非常小的数据 1个字节
smallint 2字节
mediumint 3字节
int 4字节常用
bigint 8字节
float 4字节 浮点数
字符串char 0~255
varchar 0~65535常用
tinytext 微型文本 2^8-1
text 文本串2^16-1 常用于保存大文本
时间日期date date格式 YYYY--MM--DD
time HH--mm--ss
datetime YYYY--MM--DD HH--mm--ss最常用时间格式
timestamp 时间戳1970.1.1到现在的毫秒数
year 年份表示
字段属性
Unsinged 无符号整数
勾选后该列内容不能为负数
zerofill 零填充,不足的位数用零补齐
自增 auto_increment 在上一条基础上默认加一,
与主键设置相关,可以自定义步长与自增起始值
非空not null 必须赋值,不能为null
默认值 不赋值为默认值
primary key (' ') 指定主键
创表格式
CREATE TABLE [IF NOT EXISTS] 表名(
列名 数据类型 [属性] [索引] [注释],
列名 数据类型 [属性] [索引] [注释],
.....
列名 数据类型 [属性] [索引] [注释],
列名 数据类型 [属性] [索引] [注释],
primary key (列名) 前面几句加逗号,最后结束那句不加
) [表类型] [字符集设置]
一些语句查询帮助
show create database 库名 --查看创建数据库语句
show create table 表名 --查看创表语句
DESC 表名 --查看表的结构
对数据表字段进行操作
-- 修改删除表
-- 修改表名
ALTER TABLE `student1` RENAME AS `teacher`
-- 增加表的字段
ALTER TABLE `teacher` ADD agg INT(12)
-- 修改表的字段(重命名与修改约束)
ALTER TABLE `teacher` MODIFY `name` VARCHAR(11) DEFAULT 'jackie' -- 修改约束modify
ALTER TABLE `teacher` CHANGE `agg` age INT(13) -- 重命名change
-- 删除表的字段
ALTER TABLE `teacher` DROP `age`
insert语句
-- insert into 表名(字段一,字段二....)values(值1,值2,值3....)
-- 插入一行数据
INSERT INTO `student2`(`name`,age,address,sex) VALUES('张阿生',19,'北京市','女')
-- 插入多行数据
INSERT INTO `student2`(`name`,age,address,sex) VALUES('李梅',39,'上海市','女'),('王二明',40,'深圳市','男'),('trump',78,'美国','男')
update语句
-- 不指定条件的情况下,修改所有项
UPDATE `student2` SET `name`='胡昕昕'
-- 指定条件修改某一项
UPDATE `student2` SET `name`='张牛' WHERE id=1
-- 修改多个属性,逗号隔开
UPDATE `student2` SET `name`='王世友' ,`age`=78 WHERE id=2
-- 使用多个条件定位数据,条件之间用and,or连接
UPDATE `student2` SET `name`='张三牛' WHERE id=3 OR age=78
关于update语句中的"条件",不仅包括常见的=,!=,>,<,>=,<=
还有between .. and .. AND OR这些
and和or相当于java中的&&与||
between..and是界定范围,对范围内的项进行相应修改
UPDATE `student2` SET `name`='王必细' WHERE id BETWEEN 1 AND 3
delete语句与truncate语句
delete from 表名 +条件
truncate table 表名
二者之间区别在于删除后自增量是否会重置
delete不会重置,truncate会