MySQL笔记1

1、什么是sql(structured query language)
结构化查询语言

2、sql分类(四类):
① DDL:数据定义语言
create/alter/drop
② DML:数据的操作语言
Insert /update /delete select (DQL)
③ DCL:数据的控制语言
grant revoke
④ TCL:数据的事务处理
commit rollback

1.创建数据库
语法:create database [if not EXISTS] 数据库名;
创建数据库
create database if not EXISTS userinfo;

2.创建数据表
语法: create table [if not EXISTS] 表名(
列名 类型[长度]
);
创建数据表
create table student
(
stuId INT,
stuName VARCHAR(30)
);

2.1 数据类型
A: 数字类型
int 4字节(取值范围)
bigint 8字节
如:stuId int(4) 4代表显示宽度 123 如果:无符号(UNSIGNED) 0123 12345
如果不写宽度值 默认11.
小数:
浮点数:
Float(m,d) m代表长度 d代表的小数位数
如: salary float(7,2) 345.678 =>345.68 12345.678=>12345.68
123456.78 报错
Double(m,d)
可以省略(m,d) 存数据时按真实的数值来存储
如: salary float 345.678=>345.678 123456.78=>123456.78
定点数:
Decimal(m,d)
可以省略(m,d)存储按默认长度和小数位数(10,0)
如:salary decimal 345.678=>346
使用时机:float和double 没有decimal精确,由其是求和,求平均值 时sum/avg函数,decimal比较精确度高时要用,必须要加上(m,d)
B: 字符串类型
Char(长度) 定长的 执行效率高
如: stuName char(10) 值:zs 会有8个空格补位
Varchar(长度) 变长的 执行效率低
如: stuName varchar(10) 值:zs 占2长度
如:身份证号char(18) 性别 char(1) ‘男’
地址varchar(50)
BINARY VARBINARY (存二进制)
BLOB 二进制 在数据库中存图片,音频
C: 日期类型
Date:YYYY-MM-DD
Time:HH:MM:SS
Year:yyyy

Datatime 格式:YYYY-MM-DD HH:MM:SS
‘1000-01-01 00:00:00.000000’ to ‘9999-12-31 23:59:59.999999’
Timestap时间戳 格式:YYYYMMDD HHMMSS
‘1970-01-01 00:00:01.000000’ to ‘2038-01-19 03:14:07.999999’.utc
D:特殊类型

Enum()
例:gender enum(‘男’,’女’) 只取其中一个
Set()
例:hobby set(‘book’,’music’,’footbal’,’swimming’) 可以取多个

3、表结构的修改(alter)
A.添加列
语法:alter table 表名 add 列名 类型 约束[first|after]
追加新列hobby
alter table tuser add hobby set(‘aa’,‘bb’,‘cc’);
添加到某一位置(stuid后)
alter table tuser add new_col VARCHAR(10) AFTER stuid;
添加到第一个位置
alter table tuser add new1_col VARCHAR(10) FIRST;

B.修改列
语法:alter table 表名 change 原始列名 新列名 类型 约束[first|after]
修改列名 aa列名
ALTER table tuser CHANGE new1_col aa VARCHAR(10);
修改列的类型
ALTER table tuser CHANGE aa aa VARCHAR(20);
ALTER table tuser MODIFY aa VARCHAR(30); #和上面等同
修改列名改变位置
ALTER table tuser CHANGE aa aa1 VARCHAR(20) AFTER birthday;

C.删除列
语法:alter table 表名 drop 列名
删除列
ALTER table tuser DROP new_col;
ALTER table tuser DROP aa1;

4、删除表(把表的对象删除)
删除student表
DROP TABLE student;

5、清空表(数据清空掉)
查看表中的数据 “*” :所有列
select * from student1;
清空表
truncate table student1;
6、删除数据库
删除数据库
drop DATABASE userinfo;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值