Introduction to basic syntax and statements in MySQ
A data collection that saves a large amount of data and can be accessed efficiently through computer processing is called a database (Database, DB).
Save your name, address, phone number, email address, hobbies, family composition and other data into the database, and you can quickly obtain the information you want at any time. The computer system used to manage databases is called a database management system (DBMS).
DBMS is classified by data storage format (type of database). At present, there are five main types: Hierarchical Database (HDB), Relational Database (RDB), Object-oriented Database (Object Oriented Database, OODB), XML database (XML Database, XMLDB), key-value storage system (Key-Value Store, KVS).
DBMS is called Relational Database Management System (RDBMS). The more representative RDBMS include Oracle Database: Oracle; SQL Server: Microsoft; DB2: IBM; PostgreSQL: open source; MySQL: open source.
MySQL is one of the best RDBMS application software, and its usage rate is also up. Because of laziness, the operations in this article are only verified on MySQL5.7.
Zero, preparation
1.Install MySQL
2 , Server startup
3, Client connection
4, SQL statement classification
-
1. Database operation
1. Display database
2. Create database
3. Using database
4. User management
5. Authorization management
2. Data table operations
1. Create table
2. Delete table
3. Clear the table
4. Modify the table
-
3. Table content operations
1, add
2, delete
3, change
4. Check
5. Conditional query
Zero, preparation
1. Install MySQL
2. Start the server
mysql.server start

3.Client connection
mysql -u username -p --退出 QUIT 或者 Control+D


4. SQL statement classification
DDL (Data Definition Language, data definition language) is used to create Or delete objects such as the database used to store data and tables in the database. DDL contains the following types of instructions.
DDL (Data Definition Language)
CREATE: Create objects such as databases and tables
DROP: Delete objects such as databases and tables
ALTER: Modify the database The structure of objects such as tables and tables
DML (Data Manipulation Language) is used to query or change records in tables. DML contains the following types of instructions.
DML (Data Manipulation Language)
SELECT: Query the data in the table
INSERT: Insert new data into the table
UPDATE: Update the table Data
DELETE: Delete data in the table
DCL (Data Control Language, data control language) is used to confirm or cancel changes to the data in the database . In addition, you can also set whether RDBMS users have permission to operate objects in the database (database tables, etc.). DCL contains the following instructions.
DCL (Data Control Language)
COMMIT: Confirm changes to data in the database
ROLLBACK: Cancel changes to data in the database
GRANT: Grant user operation permissions
REVOKE: Cancel user operation permissions
1. Database operation
1. Display database
SHOW DATABASES;
Default database There are the following:
mysql - user permissions related data
test - used for user test data
information_schema - MySQL itself architecture related data
2. Create database
CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
General It's utf8. Subsequent searches and various gadgets can be used.
3. Using the database
--使用数据库 USE 数据库名称; --显示当前使用的数据库中所有表 SHOW TABLES;
4. User management
--创建用户 create user '用户名'@'IP地址' identified by '密码'; --删除用户 drop user '用户名'@'IP地址'; --修改用户 rename user '用户名'@'IP地址'; to '新用户名'@'IP地址'; --修改密码 set password for '用户名'@'IP地址' = Password('新密码');
User permission related data is stored in the user table of the mysql database, but it is not recommended to operate it directly.
5. Authorization management
-- 查看权限 show grants for '用户'@'IP地址'; -- 授权 grant 权限 on 数据库.表 to '用户'@'IP地址' ; -- 取消权限 revoke 权限 on 数据库.表 from '用户'@'IP地址';
Frequently used permissions:
all privileges - all privileges except grant
select - check permissions only
select, insert - check And insert permission
Use * to match database name and table name:
test.* -test database all tables
*.* -all database all tables
Use % to match IP address
--举个例子 grant all privileges on *.*TO '用户名'@'%';
二、数据表操作
1、创建表
create table 表名( 列名 类型 NULL, 列名 类型 NOT NULL )ENGINE=InnoDB DEFAULT CHARSET=utf8
基本数据类型
MySQL的数据类型大致分为:数字型、字符型、日期型。
INT型: 用来指定存储整数的列的数据类型(数字型),不能存储小数。
CHAR型: 用来指定存储字符串的列的数据类型(字符型)。可以像 CHAR(200) 这样,在括号中指定该列可以存储的字符串的长度(最大长度)。字符串超出最大长度的部分是无法输入到该列中的。当列中存储的字符串长度达不到最大长度的时候,使用半角空格进行补足。
VARCHAR型: 也可以通过括号内的数字来指定字符串的最大长度(字符型)。但该类型的列是以可变长字符串的形式来保存字符串。可变长字符串即使字符数未达到最大长度,也不会用半角空格补足。
DATE型: 用来指定存储日期(年月日)的列的数据类型(日期型)。
更多数据类型
默认值
创建列时可以指定默认。
create table tb1( nid int not null default 2, num int not null )
自增
如果为某列设置自增列,插入数据时无需设置此列,默认将自增(表中只能有一个自增列)。
create table tb1( nid int not null auto_increment primary key, num int null ) create table tb1( nid int not null auto_increment, num int null, index(nid) )
注意:
1、对于自增列,必须是索引(含主键)。
2、对于自增可以设置步长和起始值
show session variables like 'auto_inc%';
set session auto_increment_increment=2;
set session auto_increment_offset=10;
show global variables like 'auto_inc%';
set global auto_increment_increment=2;
set global auto_increment_offset=10;
主键
一种特殊的唯一索引,不允许有空值,如果主键使用单个列,则它的值必须唯一,如果是多列,则其组合必须唯一。
create table tb1( nid int not null auto_increment primary key, num int null ) create table tb1( nid int not null, num int not null, primary key(nid,num) )
外键
一个特殊的索引,只能是指定内容
create table color( nid int not null primary key, name char(16) not null ) create table fruit( nid int not null primary key, smt char(32) null , color_id int not null, constraint fk_cc foreign key (color_id) references color(nid) )
2、删除表
drop table 表名
3、清空表
delete from 表名 truncate table 表名
4、修改表
--添加列 alter table 表名 add column 列名 类型 --删除列 alter table 表名 drop column 列名 --修改列 -- 类型 alter table 表名 modify column 列名 类型; -- 列名,类型 alter table 表名 change 原列名 新列名 类型; --添加主键 alter table 表名 add primary key(列名); --删除主键 alter table 表名 drop primary key; alter table 表名 modify 列名 int, drop primary key; --添加外键 alter table 从表 add constraint 外键名称(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段); --删除外键 alter table 表名 drop foreign key 外键名称 --修改默认值 ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000; --删除默认值 ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;
三、表内容操作
1、增
insert into 表 (列名,列名...) values (值,DEFAULT,值...) insert into 表 (列名,列名...) values (值,值,值...),(值,值,值...) insert into 表A (列名,列名...) select (列名,列名...) from 表B
2、删
--保留数据表,删除全部行 delete from 表 delete from 表 where id=1 and name='dyan'; truncate 表
3、改
update 表 set name = 'dyan' where id>1;
4、查
select * from 表 select * from 表 where id > 1 select nid,name,gender as 新表名 from 表 where id > 1 子查询的运算符 =,<>,>,>=,<,<= is null, not, and, or,
5、条件查询
1)条件 select * from 表 where id > 1 and name != 'dyan' and num = 12; select * from 表 where id between 5 and 16; select * from 表 where id in (11,22,33); select * from 表 where id not in (11,22,33); select * from 表 where id in (select nid from 表); 2)聚合 COUNT:计算表中的记录数(行数) SUM:计算表中数值列中数据的合计值 AVG:计算表中数值列中数据的平均值 MAX:求出表中任意列中数据的最大值 MIN:求出表中任意列中数据的最小值 --后者会得到NULL之外的数据行数 select count(*),count(<列名>) from 表名; 3)通配符 select * from 表 where name like 'ale%' - ale开头的所有(多个字符串) select * from 表 where name like 'ale_' - ale开头的所有(一个字符) 4)限制 select * from 表 limit 5; - 前5行 select * from 表 limit 4,5; - 从第4行开始的5行 select * from 表 limit 5 offset 4; - 从第4行开始的5行 5)分组 --group by 必须在where之后,order by之前 select num from 表 group by num select num,nid from 表 group by num,nid select num,nid from 表 where nid > 10 group by num,nid order nid desc select num,nid,count(*),sum(score),max(score),min(score) from 表 group by num,nid --取出符合指定条件的组having --SELECT → FROM → WHERE → GROUP BY → HAVING select num from 表 group by num having max(id) > 10 6)排序 select * from 表 order by 列 - 根据 “列” 从小到大排列,默认asc升序 select * from 表 order by 列 desc - 根据 “列” 从大到小排列 select * from 表 order by 列1 desc,列2 asc - 根据 “列1” 从大到小排列,如果相同则按列2从小到大排序 select 列名1,count(*) from 表 group by 列名1 order by count(*) 7)连表 无对应关系则不显示 select A.num, A.name, B.name from A,B Where A.nid = B.nid 无对应关系则不显示 select A.num, A.name, B.name from A inner join B on A.nid = B.nid A表所有显示,如果B中无对应关系,则值为null select A.num, A.name, B.name from A left join B on A.nid = B.nid B表所有显示,如果B中无对应关系,则值为null select A.num, A.name, B.name from A right join B on A.nid = B.nid 8)组合 组合,自动处理重合 select nickname from A union select name from B 组合,不处理重合 select nickname from A union all select name from B
The above is the detailed content of Introduction to basic syntax and statements in MySQ. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

The process of starting MySQL in Docker consists of the following steps: Pull the MySQL image to create and start the container, set the root user password, and map the port verification connection Create the database and the user grants all permissions to the database

Laravel is a PHP framework for easy building of web applications. It provides a range of powerful features including: Installation: Install the Laravel CLI globally with Composer and create applications in the project directory. Routing: Define the relationship between the URL and the handler in routes/web.php. View: Create a view in resources/views to render the application's interface. Database Integration: Provides out-of-the-box integration with databases such as MySQL and uses migration to create and modify tables. Model and Controller: The model represents the database entity and the controller processes HTTP requests.

I encountered a tricky problem when developing a small application: the need to quickly integrate a lightweight database operation library. After trying multiple libraries, I found that they either have too much functionality or are not very compatible. Eventually, I found minii/db, a simplified version based on Yii2 that solved my problem perfectly.

MySQL and phpMyAdmin are powerful database management tools. 1) MySQL is used to create databases and tables, and to execute DML and SQL queries. 2) phpMyAdmin provides an intuitive interface for database management, table structure management, data operations and user permission management.

Compared with other programming languages, MySQL is mainly used to store and manage data, while other languages such as Python, Java, and C are used for logical processing and application development. MySQL is known for its high performance, scalability and cross-platform support, suitable for data management needs, while other languages have advantages in their respective fields such as data analytics, enterprise applications, and system programming.

Article summary: This article provides detailed step-by-step instructions to guide readers on how to easily install the Laravel framework. Laravel is a powerful PHP framework that speeds up the development process of web applications. This tutorial covers the installation process from system requirements to configuring databases and setting up routing. By following these steps, readers can quickly and efficiently lay a solid foundation for their Laravel project.

MySQL is suitable for web applications and content management systems and is popular for its open source, high performance and ease of use. 1) Compared with PostgreSQL, MySQL performs better in simple queries and high concurrent read operations. 2) Compared with Oracle, MySQL is more popular among small and medium-sized enterprises because of its open source and low cost. 3) Compared with Microsoft SQL Server, MySQL is more suitable for cross-platform applications. 4) Unlike MongoDB, MySQL is more suitable for structured data and transaction processing.
