郑州做旅游网站,网站建设中的思想和算法,wordpress4.8中文版,如皋做网站这是数据库系列的第一篇文章#xff0c;主要是对mysql的基本操作有一个了解。本系列的教程会先从基础出发#xff0c;逐步过渡到优化。一、前提在这里我们不会从如何去安装数据库开始讲起#xff0c;而是在安装完之后从操作数据库开始#xff0c;文中所有的代码均在我自己的…这是数据库系列的第一篇文章主要是对mysql的基本操作有一个了解。本系列的教程会先从基础出发逐步过渡到优化。一、前提在这里我们不会从如何去安装数据库开始讲起而是在安装完之后从操作数据库开始文中所有的代码均在我自己的win10电脑上实现过一遍确保无误。而且本文是基于mysql5.7.23的版本中实现的。下面就直接开始。注意对于数据库在学习的时候过程都是从增查改删用的顺序来的。二、操作数据库1、创建数据库1语法2 CREATE DATABASE 数据库名 [IF NOT EXISTS];3实例4 mysql create database test_db;5 Query OK, 1 row affected (0.02 sec)6描述7 创建一个名为test_db的数据库2、查看数据库1语法2 SHOW DATABASES [LIKE 筛选条件];3实例4 mysql show databases like %test%;5 -------------------6 | Database (%test%) |7 -------------------8 | test |9 | test1 |10 | test_db |11 -------------------12 3 rows in set (0.00 sec)13描述14 显示所有包含test的数据库3、修改数据库说实话一般不修改数据库如果有问题直接删除了重建。1语法2 ALTER DATABASE [数据库名] {[DEFAULT] CHARACTER SET };3实例4 mysql alter database test_db default character set gb2312;5Query OK, 1 row affected (0.00 sec)6描述7 修改数据库test_db的默认字符集为gb23124、删除数据库1语法2 DROP DATABASE [IF EXISTS] 数据库名;3实例4 mysql drop database if exists test_db;5 Query OK, 0 rows affected (0.18 sec)6描述7 如果数据库test_db存在那就删除掉5、使用数据库1语法2 USE 数据库名;3实例4 mysql use test1;5 Database changed6描述7 进入到当前数据库三、操作表1、创建表1语法2 CREATE TABLE 表名 (字段名 字段类型, 字段名 字段类型.....);3实例4 mysql use test_db;5 Database changed6 mysql create table student(7 - id int(11),8 - name varchar(20),9 - class_id int(11),10 - score float11 - );12 Query OK, 0 rows affected (0.30 sec)13描述14 首先进入当前数据库test_db然后创建一个student表2、查看表1语法2 SHOW TABLES [LIKE 筛选条件];3实例4 mysql show tables;5 -------------------6 | Tables_in_test_db |7 -------------------8 | student |9 -------------------10 1 row in set (0.01 sec)11描述12 显示当前数据库素所有的表3、查看表结构1语法2 DESCRIBE 表名;3实例4 mysql describe student;5 --------------------------------------------------6 | Field | Type | Null | Key | Default | Extra |7 --------------------------------------------------8 | id | int(11) | YES | | NULL | |9 | name | varchar(20) | YES | | NULL | |10 | class_id | int(11) | YES | | NULL | |11 | score | float | YES | | NULL | |12 --------------------------------------------------13 4 rows in set (0.01 sec)14描述15 查看student数据表的结构4、修改表(1)添加字段1语法2 ALTER TABLE 表名 ADD 字段名称 字段类型;3实例4 mysql alter table student add age int(11);5 Query OK, 0 rows affected (0.42 sec)6 Records: 0 Duplicates: 0 Warnings: 07描述8 修改数据表student新增了一个age字段(2)修改字段类型1语法2 ALTER TABLE 表名 MODIFY 字段名 字段类型;3实例4 mysql alter table student modify age varchar(20);5 Query OK, 0 rows affected (0.31 sec)6 Records: 0 Duplicates: 0 Warnings: 07描述8 修改数据表student将字段age的类型改为varchar(3)修改字段名称1语法2 ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新字段类型;3实例4 mysql alter table student change score grade int(11);5 Query OK, 0 rows affected (0.37 sec)6 Records: 0 Duplicates: 0 Warnings: 07描述8 修改数据表student将score字段改为grade并设置新的字段类型(4)删除字段1语法2 ALTER TABLE 表名 DROP 字段名;3实例4 mysql alter table student drop age;5 Query OK, 0 rows affected (0.25 sec)6 Records: 0 Duplicates: 0 Warnings: 07描述8 修改数据表student删除age字段(5)修改表名1语法2 ALTER TABLE 旧表名 RENAME 新表名;3实例4 mysql alter table student rename stu;5 Query OK, 0 rows affected (0.05 sec)6描述7 修改数据表student重新命名为stu5、删除表1语法2 DROP TABLE [IF EXISTS] 表名;3实例4 mysql drop table if exists student;5 Query OK, 0 rows affected (0.05 sec)6描述7 如果表student存在那就删除掉四、约束约束的作用主要是为了确保数据的一致性和完整性。一般在创建表的时候指定。1、主键约束(1)主键约束1语法2 字段名称 字段类型 PRIMARY KEY;3实例4 mysql create table teacher(5 - id int(11) primary key,6 - name varchar(20),7 - classId int(11),8 - socre float9 - );10 Query OK, 0 rows affected (0.15 sec)11描述12 在创建表的同时设置id为主键或者是这种新式1 mysql create table teacher(2 - id int(11) ,3 - name varchar(20),4 - classId int(11),5 - socre float,6 - primary key(id)7 - );8 Query OK, 0 rows affected (0.15 sec)(2)复合主键约束1语法2 PRIMARY KEY [字段1, 字段2......]3实例4 mysql create table teacher(5 - id int(11) ,6 - name varchar(20),7 - classId int(11),8 - socre float,9 - primary key(id,classId)10 - );11 Query OK, 0 rows affected (0.12 sec)12描述13 为表teacher设置多个主键(3)修改表添加主键约束1语法2 ALTER TABLE 表名 ADD PRIMARY KEY (字段名);3实例4 mysql alter table stu add primary key(id);5 Query OK, 0 rows affected (0.25 sec)6 Records: 0 Duplicates: 0 Warnings: 07描述8 修改表stu新增一个主键id2、外键约束外键用于连接两张表(1)创建表时添加外键约束1语法2 FOREIGN KEY 字段1 字段2..... REFERENCES 主表 字段1 字段2......3实例4 mysql create table class(5 - id int(11) primary key,6 - name varchar(25)7 - );8 Query OK, 0 rows affected (0.16 sec)910 mysql create table stu(11 - id int(11),12 - name varchar(25),13 - class_id int(11),14 - score float,15 - foreign key(class_id) references class(id)16 - );17 Query OK, 0 rows affected (0.18 sec)18描述19 首先创建一个class表然后再创建stu表的时候设置class_id为外键指向class表(2)修改表时添加外键约束1语法2 ALTER TABLE 表名 ADD FOREIGN KEY 外键字段名 REFERENCES 主表名 主表字段;3实例4 mysql alter table stu5 - add foreign key(class_id)6 - references class(id);7 Query OK, 0 rows affected (0.47 sec)8 Records: 0 Duplicates: 0 Warnings: 09描述10 修改表stu增加一个外键(3)删除外键约束1语法2 ALTER TABLE 表名 DROP FOREIGN KEY 外键字段名3实例4 mysql alter table stu5 - add constraint fk_class_id foreign key(class_id)6 - references class(id);7 Query OK, 0 rows affected (0.39 sec)8 Records: 0 Duplicates: 0 Warnings: 0910 mysql alter table stu drop foreign key fk_class_id;11 Query OK, 0 rows affected (0.05 sec)12 Records: 0 Duplicates: 0 Warnings: 013描述14 新增加一个外键然后删除注意我们为外键起了个名字fk_class_id3、唯一约束1语法2 字段名 字段类型 UNIQUE;3实例4 mysql create table stu2(5 - id int(11),6 - name varchar(25) unique,7 - primary key(id)8 - );9 Query OK, 0 rows affected (0.16 sec)4、默认约束1语法2 字段名 字段类型 DEFAULT 默认值;3实例4 mysql create table stu3(5 - id int(11) primary key,6 - name varchar(25) unique,7 - sex varchar(10) default women8 - );9 Query OK, 0 rows affected (0.18 sec)5、非空约束1语法2 字段名 字段类型 NOT NULL;3实例4 mysql create table stu4(5 - id int(11) primary key,6 - name varchar(25) unique,7 - sex varchar(10) default women,8 - class_id int(11) not null9 - );10 Query OK, 0 rows affected (0.19 sec)五、函数1、数值型函数1ABS(X):返回X的绝对值2MOD(X,Y):返回X被Y除后的余数3SQRT(X):返回非负数X的二次方根4SIGN(X):返回X的符号为正返回1为负返回-15CEIL(X):返回不小于X的最小整数6SIN(X):返回X的sin值其他三角函数类似2、字符串函数1LENGTH(str):返回str的字节长度2UPPER(str):将str中的每一个字母全部转化为大写3LOWER(str)将str中的每一个字母全部转化为小写4LEFT(str,n)返回str中最左边的n个字符5RIGHT(str,n):返回str中最右边的n个字符6CONCAT(S1,S2,S3.....):将内部多个字符串拼接7TRIM(str)删除str两边的空格8SUNSREING(str,n,len):从位置n开始返回str的长度为len的字串9REVERSE(str):将字符串str反转10REPLACE(s,s1,s2):使用s2,替换掉s中的所有s1字串3、日期函数1NOW()SYSDATE():返回当前的系统时间格式为“2020-10-03 19:35:25”2CURDATE()CURRENT_DATE():返回日期格式为“2020-10-03”3CURTIME()CURRENT_TIME():返回系统时间格式为“19:37:28”4DAYOFWEEK()WEEKDAY():返回当天在一周中的索引weekday(2020-10-03)5DAYOFMONTH(d)DAYOFYEAR(d):返回d是一个月的第几天6MONTH(data)MONTHNAME(data):返回data对应的月份7DATEDIFF(date1,date2):返回date1和date2之间的天数4、聚合函数1MAX():返回指定列中的最大值2MIN():返回查询列中的最小值3COUNT(字段名):统计含有字段名的总行数4SUM():返回指定列的总和值5AVG():返回指定列的平均值5、自定义函数(1)无参数1语法2 CREATE FUNCTION 函数名() RETURNS 字段类型3 RETURN 操作;4实例5 mysql create function f1() returns varchar(30)6 - return now();7 Query OK, 0 rows affected (0.03 sec)8调用9 mysql select f1();10 ---------------------11 | f1() |12 ---------------------13 | 2020-11-05 15:52:24 |14 ---------------------15 1 row in set (0.03 sec)(2)有参数1语法2 CREATE FUNCTION 函数名(参数名 参数类型参数名 参数类型.....)3 RETURNS 返回类型4 RETURN 函数操作5实例6 mysql create FUNCTION f2(num1 smallint unsigned,num2 smallint unsigned)7 - returns float(10,2)8 - return (num1num2)/2;9 Query OK, 0 rows affected (0.00 sec)10调用11 mysql select f2(10,20);12 -----------13 | f2(10,20) |14 -----------15 | 15.00 |16 -----------17 1 row in set (0.01 sec)OK写到这算是把基础知识的上半部分写完了下一部分主要写对数据表的增删改查操作因为这个查询操作实在是过于麻烦因此单开了一篇文章来描述以上内容适合学过mysql基础的人进行一个巩固或者是回顾属于最最基本的知识点范畴了。