一、基本概念
MySQL是一个关系型数据库管理系统,它通过将数据保存在不同的表中以增加速度和灵活性。表的设计使得数据的组织和检索更加高效,并且支持SQL(结构化查询语言),这是最常用来访问数据库的标准化语言。MySQL是一个开源软件,采用GPL协议,用户可以免费使用并修改源码来开发自己的MySQL系统。这种开放性使得MySQL在开发者社区中非常受欢迎,并且有助于其快速改进和迭代。MySQL基础用法涵盖了数据库操作、数据表操作以及数据操作等核心方面,这些操作构成了日常数据库管理的基础。
二、基本操作
1.创建数据库:使用CREATE DATABASE语句来创建新的数据库,例如
create database if not exists test;
如果需要指定字符集和校对规则,可以使用CHARACTER SET,例如:
create database test1 character set 'utf8';
2.显示数据库:通过SHOW DATABASES;命令可以查看当前系统中的所有数据库,例如:
show databases;
3.使用数据库:在执行数据库操作前,需要选择使用的数据库,使用USE db_name;语句切换到指定的数据库,例如:
use test1;
4.修改数据库:虽然数据库名称一般不能直接修改,但可以修改数据库的库选项,如字符集和校对规则。使用ALTER DATABASE语句来实现,例如,ALTER DATABASE db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;。
5.删除数据库:使用DROP DATABASE语句可以删除一个已有的数据库,例如:
drop database test;
注意,这个操作会删除数据库内所有的表和数据
6.创建数据表:使用CREATE TABLE语句来创建新的数据表。需要指定表名、列名及其数据类型,并可以选择性的设置约束(如主键、唯一约束等)。例如:
create table students( id int(11) primary key, name varchar(25), deptID int(11), salary float ); #删除主键 alter table students drop PRIMARY KEY;
7.显示数据表:使用SHOW TABLES;命令可以列出当前数据库中的所有表。如果需要查看某个表的详细结构,可以使用DESCRIBE table_name;或SHOW CREATE TABLE table_name;。例如:
show tables; desc students;
8.更改数据表:可以使用ALTER TABLE语句来修改表结构,包括添加、删除或修改列。例如,新增字段的语法为:ALTER TABLE users ADD COLUMN email VARCHAR(255);例如:
alter table students add column email varchar(255);
9.删除数据表:使用DROP TABLE语句可以删除不再需要的数据表
例如,DROP TABLE users;。这个操作会永久删除表中的所有数据和表结构
drop table students;
10.插入数据:使用INSERT INTO语句向表中插入新数据。例如:
insert into students(id,name,deptID,salary,email) values(1,'zs','100','1000','123321@163.com');
11.查询数据:使用SELECT语句从表中检索数据。例如:
select * from students; select * from students where name='zs'; select * from students where id<5;
12.更新数据:使用UPDATE语句修改表中的现有数据。例如:
update students set salary=1500 where name = 'zs';
13.删除数据:使用DELETE FROM语句从表中删除数据。例如:
delete from students where id = 1; 或者清空整个表的数据: delete from students
14.查询数据:使用select语句查询表中现有数据。例如:
select * from students;
三、键约束
1.NOT NULL约束:确保某列不能有NULL值。
CREATE TABLE employees ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT NOT NULL );
2.UNIQUE约束:确保某列的值是唯一的,不允许重复。
CREATE TABLE users ( id INT PRIMARY KEY, email VARCHAR(100) UNIQUE );
3.PRIMARY KEY约束:定义主键,唯一标识表中的每一行记录,且不能为空。
CREATE TABLE products ( id INT PRIMARY KEY, name VARCHAR(50), price DECIMAL(10, 2) );
4.FOREIGN KEY约束:用于防止破坏表之间的连接关系,确保在一个表中的数据与另一个表中的数据保持一致
CREATE TABLE orders ( order_id INT PRIMARY KEY, product_id INT, quantity INT, FOREIGN KEY (product_id) REFERENCES products(id) );
5.CHECK约束:检查某列的值是否满足指定的条件。
CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(50), age INT CHECK (age >= 18 AND age <= 30) );
6.DEFAULT约束:为某列设置默认值,当插入数据时如果没有指定该列的值,则使用默认值。
CREATE TABLE employees ( id INT PRIMARY KEY, name VARCHAR(50), department VARCHAR(50) DEFAULT 'Unknown' );
授权远程登录用户:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; flush privileges;
每篇一言:从来不会生气的人,注定终生遭受欺凌和压制,直至被摧毁和消灭。