MySQL

基础入门语句

  • 登入连接数据库 mysql -u name -p password;
  • use 库名字; 这个是选择哪一个库,
  • show databases; 这个是查看所有的库
  • show tables; 这个是查看库下面的所有表
  • create database gy1 charset utf8; 这个是创建一个数据库
  • drop database gy1; 这个是删除一个数据库
  • mysql中表和列,可以改名字,但是库是不可以改名字的哦,如果您需要修改库名数需要你先创建一个库,然后把数据备份上去的哦
  • create table stu(int id,name varchar(20))engine myisam charset utf8; 创建一个表格
  • drop tabke stu; 删除一个表
  • rename table stu to newstu; 修改表的名字
  • inster into(id,name) values(1,‘name’); 插入数据
  • truncate table newstu; 清空数据,这个truncate是相当于从表的层次来删除一张表,然后重新创建一张表 delete from newstu where id = 1; 这个delete是从数据行的层面去删除的哦。

增删改查

提供一些数据作为操作

create table class(
id int unsingend primary key auto_increment,
name varchar(20) not null default ' ',
gender char not null default ' ',
salay decimnt(6,2) not null default 0.00
)engine myisam charset utf8;

1.增加数据

insert into 表名(列名1,列名2,······)
values
(与列类型对应的数据1,与列类型对应的数据2,…);

以上面的表为例:
insert into class (id,name.gender salay)
values (1.‘张三’,‘男’.8888.88); 这样就是插入一条数据了
注意事项

  • 列名你写几个,下面对应的数据你就写几个,是一一对应的不要乱写
  • 如果想插入全部数据,则列名不用写,是values后面的数据即可 千万记住一一对应
  • 尽量不要用null 没有的可以用‘ ’ 或者 0 ,null的兼容性不好。

2.删除数据

delete from 表名 where 条件判断
delete from newstu where id = 1; 这个是删除id是1的那行数据
注意事项

  • 一定要加where条件判断,不然所有数据都没了
  • truncate table news:这个truncate是从表的层面操作的,是直接删除这个表在重新创建一个新表的哦

3.修改数据

update 表名 set 列名=列值,列2名=列2值…where 选择条件
update newstu set id = 2,name = ‘xaiowu’ where id = 1 ; 这个是 把id是1的那条数据的修改成为 id为1 name为 xaiowu
注意事项

  • 一定要加where条件判断,不然所有数据都修改了

4.查询数据

select 列名1,列名2,······ from 表名 ;
select id,name from newstu; 这个是查询id列的数据和name列的数据哦。
注意事项

  • 注意对于这个*的操作,不要经常使用,这样对于服务器不好

对于创建表格的类型的详细讲解

MySQL的数据类型

数值型
整型
  • tinyint 这个是一个字节的哦,一个字节就是8个比特位
    对于数字的了解,首先你要确定他的范围:8个比特位的范围是多少呢
    0000 0000 这个是0
    1111 1111 这个是255
    这样就确定了 tinyint的范围是0到255,但是这个是无符号的哦,数字是有负号的哦。
    在二进制中以最左边的一个位来作为符号位,如果是0就是正数如果是1就是负数如 何确定有符号的范围呢?
    1000 0000 这个是-128
    1111 1111 这个是-1
    0000 0000 这个是0
    0111 1111 这个是127
    这样就确定了tinyint的有符号的取值范围是-128到127的哦,在MySQL中的数值默认是有符号的哦。 -2的^ 8次方 ~ 2的 ^的8次方-1
  • smallint
    -2的^ 16次方 ~ 2的 ^的16次方-1
  • mediumint
    -2的^ 24次方 ~ 2的 ^的24次方-1
  • int
    -2的^ 32次方 ~ 2的 ^的32次方-1
  • bigint
    -2的^ 64次方 ~ 2的 ^的64次方-1
    (M) unsingend zerofill 的区别
  • unsingend 意思是这个数字是无符号的
  • (M) 是位数 zerofill是用0来填充的
浮点型

这个M是小数的总数,D是小数点后面的数
float(M,D)
decimal(M,D)
关于flaot与decimal的区别:
float(8,4) 这个可以表示的数据是 1234.5678
decimal(8,4) 这个表示的数据是 1234.5678
虽然看起来一样的都是,取出来flaot会有精度丢失的哦,decimal一般是不会丢失的哦

字符型
  • char 这个是固定的字符哦,就是说大小是固定的
  • varchar 这个是变长的哦,是根据你的时间大小来给你分享空间每一条数据的前面是有两个或者多个字节来记录这你数据的大小的哦
  • text 可以记录比较多的数据的哦
  • enum 字符串对象的存储类型,就是存储的类型是必须是enum保存的数据,取值的时候只能去一个值
  • set 也是字符串对象的存储类型,就是存储的类型是必须是enum保存的数据,取值的时候只能去多个值
时间类型
  • time 是时间类型,平常的时间 12:12:32 这个就是表示HH:MM:SS,TIME 类型的取值范围为 -838:59:59~838:59:59
  • date 是日期类型,平常的日期 2020-12-12 这个就表示YYYY-mm-dd date 取值范围为 ‘1000-01-01’~’9999-12-3’
  • datetime 是日期加时间类型的哦 这个表示YYYY-mm-dd HH:mm:ss datetime 取值范围为 ‘1000-01-01 00:00:00’~’9999-12-3 23:59:59’
  • timestamp TIMESTAMP 的显示格式与 DATETIME 相同,显示宽度固定在 19 个字符,日期格式为 YYYY-MM-DD HH:MM:SS,在存储时需要 4 个字节。但是 TIMESTAMP 列的取值范围小于 DATETIME 的取值范围,为 '1970-01-01 00:00:01’UTC~’2038-01-19 03:14:07’UTC。在插入数据时,要保证在合法的取值范围内。
    提示:协调世界时(英:Coordinated Universal Time,法:Temps Universel Coordonné)又称为世界统一时间、世界标准时间、国际协调时间。英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称 UTC。

TIMESTAMP 与 DATETIME 除了存储字节和支持的范围不同外,还有一个最大的区别是:
DATETIME 在存储日期数据时,按实际输入的格式存储,即输入什么就存储什么,与时区无关;
而 TIMESTAMP 值的存储是以 UTC(世界标准时间)格式保存的,存储时对当前时区进行转换,检索时再转换回当前时区。即查询时,根据当前时区的不同,显示的时间值是不同的。
提示:如果为一个 DATETIME 或 TIMESTAMP 对象分配一个 DATE 值,结果值的时间部分被设置为 ‘00:00:00’,因此 DATE 值未包含时间信息。如果为一个 DATE 对象分配一个 DATETIME 或 TIMESTAMP 值,结果值的时间部分被删除,因此DATE 值未包含时间信息

  • year 这个是年份的哦

关于表列的增删改查

增加一列

alter table 表名 add 列名 列类型 约束;
alter table 表名 add 列名 列类型 约束 after 列名; 这个是添加在指定列名之后
alter table 表名 add 列名 列类型 约束 first;这个是放在第一个

删除一列

alter table 表名 drop 列名;

修改一列

alter table 表名 change 旧列名 新列名 列类型 约束;这个是修改列的全部
alter table 表名 modify 列名 新列类型 ;这个是修改字段的类型

查询列表

desc 表名

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值