19.MySQL_1

MySQL四大特性

**原子性(atomicity):**一个事务必须视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性。

**一致性(consistency):**数据库总数从一个一致性的状态转换到另一个一致性的状态。

**隔离性(isolation):**一个事务所做的修改在最终提交以前,对其他事务是不可见的。

**持久性(durability):**一旦事务提交,则其所做的修改就会永久保存到数据库中。此时即使系统崩溃,修改的数据也不会丢失。

mysql数据库sql语句

登录

mysql -u用户名 -p密码

退出

exit

mysql库的操作(create/drop/alter/show) database

charset utf8 必须加

语法
	create database 数据库名字 charset 编码格式(不需要加引号)
实例
	create database dahai1 charset utf8;

语法
	drop database 数据库名字
实例
	drop database dahai1;

字符编码

语法
	alter database 需要修改的数据库名字 charset 字符编码
实例
	alter database dahai1 charset gbk;

查看所有库
	show databases;
查看当前库的详细信息
语法
	show create database 数据库名字
实例
	show create database dahai1;

mysql表的操作(create/drop/alter/show) table/tables

字符串类型 char varchar 整数类型 int 浮点型 float

切换到库(文件夹)

语法
	use 库名
实例
	use dahai1;

必须要use切换到当前数据库

语法
	create table 表名(字段名 字段类型(宽度),字段名 字段类型(宽度)...)
实例
	create table t1(id int,name varchar(11));

不用切换数据库

语法
	create table 库名.表名(字段名 字段类型(宽度),字段名 字段类型(宽度)...)
实例
	create table dahai2.t2(id int,name varchar(11));

1.查看表结构
	语法
		desc 表名
	实例
		desc ta;
2.查看创建的表
	语法
		show create table 表名
	实例
		show create table ta;
3.查看所有的表
	语法
		show tables;
4.查看所在的库
	select database();

删(彻底删除)危险操作

语法
	drop table 表名
实例
	drop table t2;

改表

修改表名

语法
	rename table 表名 to 新表名
实例
	rename table t1 to ta;

改字段
添加字段

语法
	alter table 表名 add 字段 类型(宽度)
实例
	alter table t1 add sex char(11);

删除字段

语法
	alter table 表名 drop 字段
实例
	alter table t1 drop sex;

改表字段的字段类型

(不改字段) 只改字段的类型

语法
	alter table 表名 modify 字段 新类型(宽度)
实例
	alter table t1 modify name char(12);

(改表头) 字段和类型一起改
表内有内容的时候不可以改表头,需要 truncate 清空表后再改。

语法
	alter table 表名 change 老字段 新字段 新类型(宽度)
实例
	alter table t1 change sex se varchar(11);

改表里的内容:(insert/delete/update/select)

增 insert into

1.为想要的字段添加值,多余的会插入空
语法
	insert into 表名(字段1,字段2) values
           (第一行数据,没有插入的字段会为空),
           (第二行数据,没有插入的字段会为空),
           (第最后一行数据,没有插入的字段会为空);
实例
           insert into ta(id,name) values
           (1,'dahai'),
           (2,'xialuo'),
           (3,'guan');
2.不写添加的字段(所有的字段都插入)
语法
	insert 表名 values
    (第一行数据,给所有字段插入,记录必须与表的字段数量还有类型要一致),
    (第二行数据,给所有字段插入,记录必须与表的字段数量还有类型要一致),
    (第最后一行数据,给所有字段插入,记录必须与表的字段数量还有类型要一致);
实例
    insert ta values
     (4,'dahai','man');

删 delete from

**删除表的部分信息**
	语法
		delete from 表名 where 条件
	实例
		delete from ta where id =1;

**清空表信息**
    语法
        truncate 表名
    实例
        truncate ta;

改 update

1.直接修改字段

语法
    update 表名 set 字段名 = 修改值
实例
    update ta set se = 'woman';

2.加条件

语法
    update 表名 set 字段名 = 修改值 where 条件
实例
    update ta set se = 'man' where id = 2;

查 select

1.查看所有的记录*

语法
	select * from 表名;
实例
	select * from ta;

2.查看指定字段

语法
	select 指定字段 from 表名
实例
	select id,name from ta;

3.查看字段加条件 where

查看所有的加条件
    语法
        select * from 表名 where 条件
    实例
        select * from ta where id>=2;
查看指定字段 加条件 where
    语法
        select 指定字段 from 表名 where 条件
    实例
        select id,name from ta where id>=2;

4.不用进入库也可以查表内容

语法
	select * from 库名.表名
实例
	select * from dahai1.ta;

字段类型

整型-整数

表示整数,通常id设置成整型 int
存储范围(-2147483648,2147483647)
强调:整型类型后面的宽度限制的根本不是存储宽度,限制的是显示宽度

create table t5(id int(1));
create table t6(id int(5));

create table t7(id int zerofill);
create table t8(id int(5) zerofill);
create table t9(id int);

浮点型:小数

单精度和双精度
    数字的个数最大值为255,小数最大值为30
    单精度
        float(255,30)
    双精度
        double(255,30)
准确精度(小数是最精确)
    decimal
    数字的个数最大值为65,小数最大值为30

create table tt8(x float(255,30));
create table tt9(x double(255,30));
create table tt10(x decimal(65,30));
insert into tt8 values(1.11111111111111111111111111111111111111111111111111111111);
insert into tt9 values(1.11111111111111111111111111111111111111111111111111111111);
insert into tt10 values(11111111111111111111.11111111111111111111111111111111111111111111111111111111);

日期类型

year 1999
date 1999-11-11
time 08:30:00
datetime/timestamp  1999-11-11 08:30:00
create table student(
    id int,
    name varchar(16),
    a_year year,
    b_data date,
    class_time time,
    reg_time datetime
    );
插入当前的时间
    insert into student values
    (1,'dahai',now(),now(),now(),now());
自定义的数字时间
    insert into student values
    (1,'dahai',2000,20001111,083000,20001111083000);
自定义的字符串数字时间
    insert into student values
    (1,'dahai','1999','2000-11-11','08:30:00','2000-11-11 08:30:00');
1.DATETIME的日期范围是1001——9999年,TIMESTAMP的时间范围是1970——2038年。

2.DATETIME使用8字节的存储空间,TIMESTAMP的存储空间为4字节。因此,TIMESTAMP比DATETIME的空间利用率更高。

create table time1(x timestamp);
create table time2(x datetime);

create table time3(x timestamp default current_timestamp);

字符串类型
varchar(5)大部分用它 ,大部分情况下存储的数据都是小于约束的宽度

注意:宽度指限制字符的个数
char:定长
    char(5)
varchar: 变长
    varchar(5)
相同点:宽度指的都是最大存储的字符个数,超过了都无法正常存储
    char(5)
         'm'---》'm     ' 5个字符
    varchar(5)
         'm'----> 'm'   1个字符 (还有一个bytes是描述数据的)
char(5)
dahai|aa   |xxx  |f    |
varchar(5)
1个bytes+dahai|1个bytes+aa|1个bytes+xxx|1个bytes+f|

单选和多选

set集合是多选多,(多选)
enum枚举是多选一,(单选)
实例
create table student1(
    id int,
    name varchar(10),
    sex enum('man','woman','none'),
    hobbies set('read','play','music'));
插入数据
    insert into student1 values(1,'dahai','man','read');
    insert into student1 values(2,'dahai','man','play,music');
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值