第一章 数据库和SQL

xiaoxiao2025-11-10  5

参考书籍:https://book.douban.com/subject/27055712/

目录

1、法则2、SQL书写规则3、权限管理4、SQL常用命令5、表的创建、修改和插入创建表修改表插入表数据

1、法则

关系型数据库必须以行为单位进行读写一个单元格只能输入一个数据学会标准的SQL就可以在各种RDBMS中书写SQL语句了

2、SQL书写规则

SQL要以;结尾,关键字大写,表名的首字母大写,其余(列名等)小写关键字不区分大小写(插入到表中的数据是区分大小写的)使用单引号标识字符串和日期常数;数字常熟不需要加注单引号单词之间要使用半角空格或者换行进行分隔数据库名称、表名和列表等可以使用以下三种字符:半角英文字母、半角数字、下划线_;名称必须以半角英文字母作为开头;名称不能重复。删除了的表不能恢复,执行DROP TABLE语句之前务必仔细检查表定义变更后无法恢复,执行ALTER TABLE语句之前务必仔细检查

3、权限管理

MySQL 的账户信息保存在 mysql 这个数据库中。

USE mysql; SELECT user FROM user;

创建账户

新创建的账户没有任何权限。

CREATE USER myuser IDENTIFIED BY 'mypassword';

修改账户名

RENAME myuser TO newuser;

删除账户

DROP USER myuser;

查看权限

SHOW GRANTS FOR myuser;

授予权限

账户用 username@host 的形式定义,username@% 使用的是默认主机名。

GRANT SELECT, INSERT ON mydatabase.* TO myuser;

删除权限

GRANT 和 REVOKE 可在几个层次上控制访问权限:

整个服务器,使用 GRANT ALL 和 REVOKE ALL;整个数据库,使用 ON database.*;特定的表,使用 ON database.table;特定的列;特定的存储过程。 REVOKE SELECT, INSERT ON mydatabase.* FROM myuser;

更改密码

必须使用 Password() 函数

SET PASSWROD FOR myuser = Password('new_password');

4、SQL常用命令

修改MySQL提示符:

mysql -uroot -proot --prompt 提示符 # 连接客户端时通过参数指定 prompt 提示符 # 连接客户端之后,通过prompt指定 参数描述\D完整的日期\d当前数据库\h服务器名称\u当前用户

显示当前服务器版本:SELECT VERSION();

显示当前日期:SELECT NOW();

显示当前用户:SELECT USER();

数据库创建与使用:

CREATE DATABASE test; USE test;

创建数据库

CREATE {DATEBASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name 查看当前服务器下的数据表列表 SHOW {DATABASE | SCHEMAS} [LIKE "pattern" | WHERE expr] 查看警告信息 SHOW WARNINGS; 查看数据库创建信息 SHOW CREATE DATABASE t1; 修改数据库 ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name 删除数据库 DROP {DATABASE |SCHEMA} [IF EXISTS] db_name; 注释 SELECT * FROM mytable; -- 注释 /* 注释1 注释2 */

5、表的创建、修改和插入

创建表

CREATE TABLE mytable ( id INT NOT NULL AUTO_INCREMENT, col1 INT NOT NULL DEFAULT 1, col2 VARCHAR(45) NULL, col3 DATE NULL,+ PRIMARY KEY (`id`)); --设定主键

修改表

添加列

ALTER TABLE mytable ADD col CHAR(20);

删除列

ALTER TABLE mytable DROP COLUMN col;

删除表

DROP TABLE mytable;

修改表名

ALTER TABLE <原表名> to <新表名>

插入表数据

普通插入,不指定列则要求全部要插入

START TRANSACTION; INSERT INTO mytable(col1, col2) VALUES(val1, val2); ... COMMIT;
转载请注明原文地址: https://www.6miu.com/read-5039393.html

最新回复(0)