目录
一、对数据库的操作DDL
使用密码登录mysql
mysql -u root -p
1.创建数据库
在大多数RDBMS中,我们都可以使用如下简单的SQL语句,创建整个数据库:
CREATE DATABASE [IF NOT EXISTS] 数据库名 [CHARACTER set 'utf8mb4'];
其中:数据库名在服务器中必须是唯一的,并且符合标识符规则。所谓标识符规则指:
-
第一个字符必须是下列字符之—:
a) Unicode标准3.0所定义的字母 (Unicode中定义的字母包括拉丁字母a-z和A-Z,以及来自其它语言的字母字符)。
b)下划线(_)、at符号(@)或者数字符号(#)
-
后续字符可以是:
a) Unicode标准3.0所定义的字母。
b)来自基本拉丁字母或其它国家/地区脚本的十进制数字。
c) at符号(@)、美元符号($)、数字符号或下划线。
d)标识符不能是所用RDBMS的保留字,如create, drop, insert, delete, update, alter, select, return, use, grant, revoke等。
e)不允许嵌入空格或其它特殊字符。
-
UTF-8编码格式,对全球文字进行统一编码。如果只是ASCII
举例:
create database test character set 'utf8';
mysql> create database school character set 'utf8mb4';
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| school |
| sys |
+--------------------+
5 rows in set (0.00 sec)
mysql> create table student( id int, sid varchar(15), sname varchar(10), sphone char(11), ssexx char(1), sage tinyint, createtime datetime );
Query OK, 0 rows affected (0.02 sec)
mysql> show tables
-> ;
+------------------+
| Tables_in_school |
+------------------+
| student |
+------------------+
1 row in set (0.00 sec)
mysql> desc student;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| sid | varchar(15) | YES | | NULL | |
| sname | varchar(10) | YES | | NULL | |
| sphone | char(11) | YES | | NULL | |
| ssex | char(1) | YES | | NULL | |
| sage | tinyint(4) | YES | | NULL | |
| createtime | datetime | YES | | NULL | |
+------------+-------------+------+-----+---------+-------+
7 rows in set (0.02 sec)
二、常见数据类型
MySQL支持多种类型,大致可以分为三类:数值、字符串(字符)和日期/时间类型
1、数值类型 MySQL支持所有标准SQL数值数据类型
2、字符类型 字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET
3、日期和时间类型 表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR
三、修改数据表
1、修改表名
修改数据库表名的语法如下:
alter table 表名 rename to 新的表名;
举例如下:
alter table student_info rename to stu_info;
2、添加字段
添加数据库表字段的语法如下:
alter table 表名 ADD[COL UMN] 列名 列的定义;
列的定义:列的数据类型 [列的约束]
举例如下:
alter table stu_info add birthday date;
3、修改字段
修改数据库表字段的语法如下:
alter table 表名 change [COLUMN] 旧列名 新列名 列的定义;
举例如下:
alter table stu_info change study_direction study_direc varchar(20);
4、修改字段类型
修改数据库表字段类型的语法如下:
alter table 表名MODIFY [COLUMN]列名列的定义;
举例如下:
alter table stu_info modify gender int;
5、删除字段
删除数据库表字段类型的语法如下:
alter table 表名 DROP [COLUMN] 列名;
举例如下:
alter table stu_info drop study_direc;
四、删除数据表
在数据库中,删除数据表的语法:
DROP TABLE <表名>;
举例说明:
drop table stu_info;
五、DML
1、简介
-
数据操纵语言(Data Manipulation Language, DML)是用于数据库操作,对数据库其中的对象和数据运行访问工作的编程语句,通常是数据库专用编程语言之中的一个子集
-
例如在信息软件产业通行标准的SQL语言中,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入(意指新增或创建)、更新(修改)与删除(销毁)
2、insert(插入数据)
-
语法
insert into <表名> ( 列1,列2,···· ) values ( 值1,值2,···· );
-
举例
insert into stu1 (id,name,age,info) values (1,'zhangsan',21,'lawyer'); insert into stu1 (id,name,age,info) values (1,'zhangsan',21,'lawyer'),(2,'lisi',25,'cook');
3、update(更新数据)
-
语法
update <表名> set 列1 = 值1, 列2 = 值2,····· where (条件);
-
举例
#更新id值为11的记录 update stu1 set age=15,name=`liming` where id=11; #更新 age 值为19~22的记录 update stu1 set info=`student` where age between 19 and 22
4、delete(删除数据)
-
语法
delete from <表名> [where <条件>];
-
举例
#删除 id 值为11的记录 delete from stu1 where id = 11;
#删除 age 值为19~22的记录 delete from stu1 where age between 19 and 22;
#删除表中所有数据 delete from stu1;