mysql city_MySQL基础知识

MySQL基础知识:

一. 知识点:

1. SQL分类:按照其功能不同,分为3中类别

DDL(Data Defintion Language):数据定义语句,用于定义不同的数据段、数据库、表、列、索引等。常用的语句关键字包括create、drop、alter等;

DML(Data Manipulation Language):数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据的完整性。常用的语句关键字主要包括insert、delete、update和select等;

DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括grant、revoke等;

2. My Sql的数据类型:  int    整数(默认长度为11)

varchar   字符串,取值范围 0-255 (在定义字段时,需指定字符串的最大长度)

date   日期型(插入数据时需用单引号)

3. DDL是数据定义语言,简单来说,就是对数据库内容的对象进行创建、删除、修改和操作语言,它和DML最大的区别在于DML是对表内部数据的操作,不涉及表的定义、结构的修改,也不涉及其他对象;

二. 数据库的操作

1. create database test;   创建一个名为hxm的数据库

2. drop database test;     删除一个名为test的数据库

3. 显示数据库:   show databases;

4. 选中数据库:   use test;

5. 显示数据库里的表格: show tables;

说明: 数据库删除之后,这个数据库中所有数据都会全部删除,所以删除前一定要慎重并做好备份工作.

三. 表格

1. 创建一个名为emp的表格,并设置empId这个字段为主键

cteate table emp(

empId  int auto_increment primary key,

empName  varchar(10) not null,

gender int,

birth  date);

3. 查看表格字段的设置: desc emp;

5. 删除表格: drop table emp;

6. 删除表格中的所有数据: delete from emp;

6. 查看表格的SQL语句: show create table emp;

7. 查看表格中添加的数据: select * from emp;

四. 修改表格字段:

alter table 语句用于在已有的表中添加、修改或删除列。

1. 修改字段的类型大小: 下面这句是修改了emp这个表格的empId这个字段的类型的大小改为20

alter table emp modify empId int(20);

修改字段的类型: 下面这句是修改了emp这个表格的empId这个字段的类型改为varchar(10)

alter table emp modify empId varchar(10);

2. 修改字段的名称: 下面这句是修改了emp这个表格的empId这个字段名称为empid,类型不变

alter table emp change empId empid varchar(10)

3. 同时修改字段的名称和类型: 下面这句是修改了emp这个表格的empId这个字段名称为empid,类型为varchar(20)

alter table emp change empId empid varchar(20)

4. 添加字段: 下面这句是emp这个表格内插入了一个gender的字段,并设置gender这个字段的类型为int

alter table emp add gender int;

5. 删除字段: 下面这句是把emp这个表格内的empName这个字段删除

alter table emp drop column empName;

6. 修改表格名称: 下面这句是把emp这个表格的名称改为emp1

alter table emp rename emp1;

五. 设置外键(举例): 1. 首先创建一个表格,设置其主键;

2. 再创建一个表格,设置其外键为上一个表格的主键;

注意: 给表格创建一个外键时,需先创建外键所在的表格;

例:   外键所在的表格:

create table dept(

deptNo int auto_increment primary key,

deptName varchar(10) not null);

另一个表格:

create table emp(

empId int auto_increment primary key,

empName varchar(10) not null,

deptno int,

foreign key(deptno) references dept(deptNo));

说明:  1. 首先创建了dept这个表格,并设置其主键为deptNo;

2. 再创建了emp这个表格;

3. 在emp这个表格创建deptno这个字段,并设置其类型为int;

4. 再把deptno设置为该表格的外键,写法如下:

deptNo int,

foreign key(deptNo) references dept(deptNo));

注意:  外键字段在插入数据时,该字段的值须是外键所在表格主键的数据值之一,否则不能插入;

六. 插入数据的语法:

1. insert into emp(empId, empName, deptno) values(1,'小红',1); 在emp这个表格插入empId,empName,deptno这三个字段的值:

2. insert into emp values(1,'小红',1); 表示对emp这个表格中的所有字段依次匹配,插入数据;

3. insert into emp(ename, birth, deptNo) values('张三','2000-1-1', 2),('李四', '2001-1-1',3);//多条插入

七. 一些约束的设置:

1. 设置默认值的约束: 下面这句是创建一个student表格,并设置其gender字段的默认值为1:

create table emp(

gender int default '1');

注意: 默认约束对以前的值不会修改; 数据需加单引号''

2.  设置主键: 方式一:

下面这句是创建一个emp表格,并设置其sNo字段为主键,并让其自增长:

create table student(

sNo int auto_increment primary key);

注意: int类型的才能自增长,主键不能被删除(暂时理解)

方式二:  alter table emp add primary key(empNo);

3. 设置不能为null的约束: 下面这句是创建一个student表格,并设置其sName字段不能为空:

create table student(

sName varchar(20) not null);

八. 修改,删除,查询数据的语法:

1. update emp a set a.sname = '张三' where a.sage >= 20 && a.sage <= 30;

说明: update表示更新;emp是被更新的表格;a是为emp表格设置的别名,方便后面的使用;

where后面是条件,满足这个条件才把sname字段的数据更新为'张三';

注意: 修改数据时要加上条件,不然修改的是所有数据.

2. delete a from emp a where a.empid >= 2;

说明: delete表示删除;a为emp表格设置的别名,方便后面的使用;

where后面是条件,满足empid的数据大于等于2,则把那个对象删除.

3. delete a from emp a where a.sname is null; 表示删除sname字段值为空的数据.

4. select * from emp a where a.empid >= 4; *号代表查找满足empid>=4的对象,并显示该对象的所有字段数的据;

select a.sname from emp a where a.empid >= 4; 表示查找满足empid>=4的对象的sname字段;

九. 查询语法:

1. select a.sname from emp a where a.sname like '王%'; 表示查询以"王"字开头的sname字段的值

2. select a.sname from emp a where a.sname like '%王%'; 表示查询中间带有"王"字的sname字段的值

3. select a.sname from emp a where  char_length(a.sname) = 3; 表示查询字符个数为3(名字为3个字)的sname字段的值.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值