最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

mysql复习关系型数据库_常用SQL语句

XAMPP教程 admin 24浏览 0评论

复习

关系型数据库

Server – Database – Table – Row – Column

Mysql

服务器: 开启

客户端: 连接 – 执行命令

连接

Mysql.exe –h127.0.0.1  -P3306  -uroot -p

Mysql -uroot

Mysql  -uroot < C:/xampp…/01.sql

管理命令

Show databases;

Use jd;

Show tables;

Desc student;

Quit;

Sql命令

Drop database if exists ..

Create database …

Use …

Create table  ..(

Id int,…

)

Insert into … values();

Select * from ..

 

标准SQL语句分类

DDL:  Data Define Language 定义数据结构

CREATE/DROP/ALTER(修改)

DML:  Data Manipulate Language 操作数据

INSERT/DELETE(删除)/UPDATE(修改)

DQL:  Data Query Language 查询数据

SELECT

DCL:  Data Control Language 控制用户权限

GRANT(授权)/REVOKE(授权)

 

1.常用SQL语句

(1)删除数据

DELETE FROM  user  WHERE uid=’2’;

(2)修改数据

UPDATE user  SET

phone=’13112345678′,

email=’dang@125.com’

WHERE uid=’1′;

2.计算机存储字符

(1)如何存储英文字符

ASCII: 总共有128个,对所有的英文字母和符号进行了编码

tedu 116110109117

Latin-1: 总共有256个,兼容ASCII,同时对欧洲符号进行了编码

(2)如何存储中文字符

GB2312: 对6千多常用的汉字进行了编码,兼容ASCII

GBK: 对两万多汉字进行了编码,兼容GB2312

BIG5: 台湾繁体字编码,兼容ASCII

Unicode: 对世界上主要国家的主流语言进行了编码,兼容ASCII不兼容GBK,BIG5等,具体分为UTF-8,UTF-16,UTF-32三种存储方法

(3)解决mysql中文乱码

mysql默认使用Latin-1编码

①SQL脚本另存为的编码为UTF8

②客户端连接服务器端的编码(SET  NAMES UTF8)

③服务器端在创建数据库的编码(CHARSET=UTF8)

练习:编写脚本文件01_sohu.sql,先丢弃再创建数据库sohu,设置编码为UTF8,进入该数据库,创建保存新闻数据的表news,包含有nid,标题title,发表时间ctime,内容content,作者author,来源origin,插入若干条数据,删除其中1条,修改1条,查询结果。

3.mysql中的列类型

创建表的时候,指定的列可以存储的数据类型

CREATE TABLE  t1(nid 列类型);

(1)数值型——引号可加可不加

TINYINT  微整型,占1个字节,范围-128~127

SMALLINT 小整型,占2个字节,范围-32768~32767

INT  整型,占4个字节,范围-2147483648~2147483647

BIGINT  大整型,占8个字节

FLOAT  单精度浮点型,占4个字节,最大是3.4e38,可能产生计算误差

DOUBLE  双精度浮点型,占8个字节,可能产生计算误差

DECIMAL(M,D)  定点小数,小数点不会变化,几乎不会产生计算误差,M总的有效位数,D代表小数点后的有效位数

BOOL  布尔型,只有两个值TRUE、FALSE,不能加引号在存储的时候就变成了TINYINT,TRUE和FALSE变成了1和0,所以也可以直接使用1和0

(2)日期时间型——引号必须加

DATE  日期型   ’2019-11-04′

TIME  时间型   ’14:40:30′

DATETIME 日期时间型   ’2019-11-04 14:40:30′

(3)字符串型——引号必须加

VARCHAR(M)  变长字符串,不会产生空间浪费,操作速度相对慢,M的最大值是65535

CHAR(M)  定长字符串,可能产生空间浪费,操作速度比较快,M的最大值是255;常用于存储手机号码,身份证号等固定长度的数据

TEXT(M)  大型变长字符串,M最大值是2G

CHAR(5) VARCHAR(5)
a a/0/0/0/0 a/0
ab ab/0/0/0 ab/0
一二三 一二三/0/0 一二三/0

 

 

 

TB – GB – MB – KB – BYTE – BIT(位)

1BYTE=8BIT

123456.789*10^-1

12345.6789

1234.56789*10

123.456789*10^2

12.3456789*10^3

1.23456789*10^4

3140 3.14e3

CREATE TABLE  t1(

id INT,

age TINYINT,

phone CHAR(11),

price DECIMAL(6,2),  #9999.99

sex BOOL,   #1-男 0-女

article VARCHAR(5000),

ctime DATETIME,

pubTime DATE

);

练习:选择合理的列类型,编写脚本文件02_xuezi.sql,先丢弃再创建数据库xuezi,设置编码UTF8,进入数据库,创建保存商品数据的表laptop,包含lid,标题title,价格price,库存量stockCount,上架时间shelfTime,是否为首页推荐isIndex,插入若干条数据

练习:编写脚本文件03_tedu.sql,先丢弃再创建数据库tedu,设置存储的编码为UTF8,进入该数据库,创建保存部门数据的表dept,包含did,部门名称dname,员工数量empCount,插入以下数据

10  研发部  3

20  运营部  2

30  市场部  2

创建保存员工数据的表emp,包含eid,姓名ename,性别sex,生日birthday,工资salary,所属部门编号deptId,插入若干条数据

4.列约束

mysql可以对要插入的数据进行特定的验证,只有满足条件才允许插入到数据表中,否则被认为非法的插入

例如:一个人的性别只能是男或者女,一个人的工资只能是正数

(1)主键约束——PRIMARY KEY

声明了主键约束的列上的值不允许重复,一个表中只能有一个主键,通常加在编号列,查询的时候会按照主键编号从小到大排序,会加快查找速度

NULL  表示空,在插入数据的时候,表示无法确定的数据,例如无法确定员工的生日,所属部门都可以使用NULL

主键约束中禁止插入NULL

练习: 给部门表添加主键,并插入数据测试

(2)非空约束——NOT NULL

声明了非空约束的列上不能插入NULL

 

课后任务

(1)复习今天内容

(2)练习

编写脚本文件xz.sql,先丢弃再创建数据库xz,设置编码为UTF8,进入数据库,创建保存笔记本分类的表laptop_family,包含fid,名称fname,数量laptopCount

10  联想2    20 戴尔  2     30  小米  3

创建保存笔记本数据的表laptop,包含lid,title,price,规格spec,详情detail,shelfTime,是否在售isOnsale,所属分类编号familyId,插入若干条数据

(3)预习列约束

转载请注明:XAMPP中文组官网 » mysql复习关系型数据库_常用SQL语句