MySQL基本语句
整点类型
类型 说明 单位
tinyint 最小的整数 1字节
bit 最小的整数 1字节
bool 最小的整数 1字节
smallint 小型整数 2字节
mediumint 中型整数 3字节
int 标准整数 4字节
bigint 大整数 8字节
小数类型
类型 说明 单位
float 单精度浮点型 8或4字节
double 双精度浮点型 8字节
decimal 定点小数 自定义长度
日期和时间类型
类型 说明
date 日期,格式YYYY-MM-DD
time 时间,格式HH:MM:SS
datetime 日期和时间,格式YYYY-MM-DD HH:MM:SS
timestamp 时间标签,在处理报告时使用显示格式取决于当前时区的值
year 年份可指定两个数字和四位数字的格式
创建数据库
注*
1.·不能与其他数据库重名,否则将发生错误。
2.·名称可以由任意字母、阿拉伯数字、下画线(_)和“$”组成,可以使用上述的任意字符开头,但不能使用单独的数字,否则会造成它与数值相混绢。
3…名称最长可为64个字符,而别名最多可长达256个字符。
4.·不能使用 MySQL 关键字作为数据库名、表名。
语法结构:
create {database| schema}[ if not exists]databasename
[[ default]character set charset_name]
[I[default]collate collation_name];
创建
mysql> create database if not exists mysqltest;
Query OK, 1 row affected (0.02 sec)
管理数据库
mysql> use mysqltest;
Database changed
修改数据库
alter {database l schema}[db_name]
[[default] character set charset_name]
[I[ default] collate collation_name];
mysql> alter database mysqltest
-> default character set gb2312
-> collate gb2312_chinese_ci;
Query OK, 1 row affected (0.01 sec)
显示数据库的结构(有mysql版本 id 以及字符集等信息)
mysql> show create database teaching;
+----------+------------------------------------------------------------------------------------------------------------------------------------+
| Database | Create Database |
+----------+------------------------------------------------------------------------------------------------------------------------------------+
| teaching | CREATE DATABASE `teaching` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
删除数据库
输入drop database [if exists] db-name(删除已存在的数据库)
mysql> drop database mysqltest;
创建数据库表
create [temporary]table[ if not exists]table_name
[([column_definition],…I[index_definition])]
[table_option][select_statement];
mysql> create table if not exists student
(......);
查看表(输入show tables进行查看)
mysql> show tables;
+--------------------+
| Tables_in_teaching |
+--------------------+
| course |
| score |
| student |
| teach_course |
| teacher |
+--------------------+
5 rows in set (0.01 sec)
查看表基本结构语句describe并可以基本定义(包括字段名,字段数据类型,是否为主键和默认值等)
mysql> describe student;
+-----------+-------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------------+------+-----+---------+-------+
| studentno | char(11) | NO | PRI | NULL | |
| sname | char(8) | NO | | NULL | |
| sex | enum('男','女') | YES | | 男 | |
| birthdate | int | YES | | NULL | |
| entrance | int | YES | | NULL | |
| phone | varchar(12) | NO | | NULL | |
| Email | varchar(20) | NO | | NULL | |
+-----------+-------------------+------+-----+---------+-------+
7 rows in set (0.00 sec)
输入show create table;查看表格的结构
mysql> show create table student;
+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| student | CREATE TABLE `student` (
`studentno` char(11) NOT NULL COMMENT '学号',
`sname` char(8) NOT NULL COMMENT '姓名',
`sex` enum('男','女') DEFAULT '男' COMMENT '性别',
`birthdate` int DEFAULT NULL COMMENT '出生日期',
`entrance` int DEFAULT NULL COMMENT '入学成绩',
`phone` varchar(12) NOT NULL COMMENT '电话',
`Email` varchar(20) NOT NULL COMMENT '电子信箱',
PRIMARY KEY (`studentno`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
修改数据库表
增加字段(输入alter table)
1.·增加无完整性约束条件的字段。
2.·增加有完整性约束条件的字段。
3.·表的第一个位置增加字段。
4.·表的指定位置之后增加字段。
修改表名(输入alter table 表原名 rename to 新名字)
修改字段数据类型(输入alter table 表名->modify type 定义 default 新定义)
删除字段(输入drop table 加表名)
mysql> use demo1;
Database changed
mysql> Create table example(
-> today datetime,
-> name char(20)
-> );
Query OK, 0 rows affected (1.64 sec)
mysql> desc example;
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| today | datetime | YES | | NULL | |
| name | char(20) | YES | | NULL | |
+-------+----------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> drop table example;
Query OK, 0 rows affected (0.66 sec)
表的数据操作
表记录的插入
1.使用insert可向表中插入一行数据,也可以多行数据,各行数据用逗号分隔
2.利用load data语句将数据装入数据库表中
3.使用set子句插入数据
4.图片数据的插入
表记录的修改
用updata set命令可以修改一个表的数据
表记录的删除
利用delete from删除单个表的指定数据