MySQL数据库基本操作

1、DDL操作之数据库操作

-- 查看所有数据库
show DATABASES;
-- 创建数据库
CREATE DATABASE [IF not EXISTS] mydb1 [CHARSET=UTF8];
-- 选择使用数据库
use mydb1;
-- 删除数据库
drop DATABASE[ if EXISTS] mydb1;
-- 修改数据库编码
alter DATABASE mydb1 CHARACTER set utf8;

注:1.中括号内的东西可以省略,在复制时要把中括号去掉才能运行
2.IF not EXISTS(if EXISTS)加或不加的区别是加上肯定不报错,不加的话如果数据库存在(不存在)则会报错。

2、DDL操作之表创建

-- 选择mydb1
use mydb1;
-- 创建表
CREATE TABLE IF NOT EXISTS student(
sid int,
name varchar(20),
gender varchar(1),
age int,
birth date,
address varchar(20),
score double
);

数据类型:
数据类型是指在创建表的时候为表中字段指定数据类型,只有数据符合类型要求的才能存储起来,使用数据类型的原则是:够用就行,尽量使用取值范围小的,不用大的,以节省存储空间。

数值类型:

类型大小范围(有符号)范围(无符号)用途
TINYINT1 byte(-128,127)(0,255)小整数值
SMALLINT2 bytes(-32768,32767)(0,65535)大整数值
MEDIUMINT3 bytes(-8388608,8388607)(0,16777215)大整数值
INT或INTEGER4 bytes(-2147483648,2147483647)(0,4294967295)大整数值
BIGINT8 bytes(-9223372036854775808,9223372036854775087)(0,18446744073709551615)极大整数值
FLOAT4 bytes(-3.402823466E+38,3.402823466351E+38)0,(1.175494351E-38,3.402823466E+38)单精度浮点数值
DOUBLE8 bytes(-1.7976931348623157E+308,1.7976931348623157E+308)0,(2.2250738585072014E-308,1.7976931348623157E+308)双精度浮点数值
DECIMAL依赖于M和D的值依赖于M和D的值小数值

字符串类型:

类型大小用途
CHAR0-255 bytes定长字符串
VARCHAR0-65535 bytes变长字符串
TINYBLOB0-255 bytes不超过255个字符的二进制字符串
TINYTEXT0-255 bytes短文本字符串
BLOB0-65535 bytes二进制形式的长文本数据
TEXT0-65535 bytes长文本数据
MEDIUMBLOB0-16777215 bytes二进制形式的中等长度文本数据
MEDIUMTEXT0-16777215 bytes中等长度文本数据
LONGBLOB0-4294967295 bytes二进制形式的极大文本数据
LONGTEXT0-4294967295 bytes极大文本数据

日期类型:

类型大小范围格式用途
DATE3 bytes1000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3 bytes‘-838:59:59’/‘838:59:59’HH:MM:SS时间值或持续时间
YEAR1 byte1907/2155YYYY年份值
DATETIME8 bytes1000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
TIMESTAMP4 bytes1970-01-01 00:00:00/2038结束时间是第2147483647秒,北京时间 2038-1-19-11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07YYYYMMDD HHMMSS混合日期和时间值,时间戳

3、DDL操作之表其他操作

 -- 查看当前数据库所有的表
SHOW TABLES;
-- 查看指定表的创建语句
SHOW CREATE TABLE student;
-- 查看表结构
DESC student;
-- 删除表
DROP TABLE student;

4、修改表结构

-- 添加列到:alter table 表名 add 列明 类型(长度)【约束】;
ALTER TABLE student ADD dept VARCHAR(20);
-- 修改列名和类型:
-- alter table 表名 change 旧列名 新列名 类型(长度) 【约束】;
ALTER TABLE student CHANGE dept department VARCHAR(30);
-- 修改表删除列:
-- alter table 表名 drop 列名;
ALTER TABLE student drop department;
-- 修改表名:
-- rename table 表名 to 新表名;
RENAME TABLE student to stu;
  • DML操作之数据插入
-- 格式1:insert into 表(列名1,列名2……)values(值1,值2……);
-- 一次给一行数据
INSERT INTO stu(sid,name,gender,age,birth,address,score) 
VALUES(1001,'张三','男',18,'2001-12-23','北京',85.5);
-- 一次给多行数据
INSERT INTO stu(sid,name,gender,age,birth,address,score) 
VALUES(1002,'李四','男',18,'2001-10-23','南京',70.0),
(1003,'王五','女',17,'2000-12-23','深圳',88.5);
-- 只给某一值或多个值赋值
INSERT INTO stu(sid) values(1004);
INSERT INTO stu(sid,name) values(1005,'赵六');

-- 格式2:insert into 表values(1,值2……);
INSERT INTO stu VALUES(1006,'黄三','男',18,'2001-5-23','北京',99.5);

注:格式1中一次给多行的情况也适用于格式2

  • DML操作之数据修改
-- 数据修改
-- 格式1:update 表名 set 字段名 = 值,字段名=值……;
-- 格式2:update 表名 set 字段名=值,字段名=值……where 条件;
UPDATE stu set address = '重庆';
UPDATE stu set address = '北京' WHERE sid = 1004;
UPDATE stu set address = '上海' WHERE sid >1004;

UPDATE stu set address = '北京',score = 100 WHERE sid = 1005;
  • DML操作之数据删除
-- 数据删除
-- 格式:delete from 表名 [where 条件]-- truncate table 表名 或者 truncate 表名
DELETE FROM stu WHERE sid = 1004;
-- 删除表中所有数据
DELETE FROM stu;
-- 清空表数据
TRUNCATE TABLE stu;

注:delete 和 truncate 原理不同,delete只删除内容,而truncate类似于drop table ,可以理解为是将整个表删除,再创建该表。

5、MySQL数据库DML操作练习

MySQL数据库DML操作练习题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火眼猊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值