関連する無料学習の推奨事項: mysql ビデオ チュートリアル
記事ディレクトリ
1) DDL (データ定義言語) データ定義言語
が使用されます。データベース オブジェクト: データベース、テーブル、列など。キーワード: 作成、ドロップ、変更など。テーブル名/ヘッダーは:zoomlist3) DQL (データクエリ言語) データクエリ言語は、データベース内のテーブルのレコード (データ) をクエリするために使用されます。キーワード: select、where など。
4) DCL (Data Control Language) データ制御言語 (理解)
データベースのアクセス権限やセキュリティレベルを定義し、ユーザーを作成するために使用されます。キーワード: GRANT、REVOKE など
2. データベースの CRUD 操作について#Createcreate database hzyc;create database if not exists hzyc98 character set gbk;#Retrieveshow databases;show create database hzyc98;#Updatealter database hzyc98 character set gbk;#Deletedrop database hzyc98;drop database if exists hzyc98; #查看当前使用的数据库select database();show tables;use hzyc98ログイン後にコピー
1. 操作テーブルのリスト:
#查show tables; -- show tables_in_hzyc98desc zoomlist;#增create table zoomlist ( Name varchar(30), Age int, ID int, Height double(5,1))#删drop table if exists zoomlist;#改alter table zoomlist rename to newzoomlist;alter table zoomlist character set gbk;alter table zoomlist add Name varchar(20);#加列alter table zoomlist change Age newAge int;alter table zoomlist modify Age char(8);alter table zoomlist drop Name;/*设置类型:*/ - int、double(5,1)、varchar(20) - date #yyyy-MM-dd - datetime #yyyy-MM-dd HH:mm:ss - timestamp#时间戳 yyyy-MM-dd HH:mm:ss
#除了数字,其他都需要引号来赋值insert into zoomlist (Name, Age, ID, Height) value('美洲豹',5,'20201207',3.2);insert into zoomlist ('美洲豹',5,'20201207',3.2);#删除delete from zoomlist where [条件];delete from zoomlist;TRUNCATE TABLE zoomlist;#修改update zoomlist set Name = '大笨象' Age = 12 where address = '深圳';update zoomlist set address = '深圳';
a. クエリ #查询#尽量不要用 * 先desc一下表里面有啥,然后在决定展示什么东西。SELECT * FROM zoomlist; SELECT Name,Age FROM zoomlist; --只显示某个列,方便查看!SELECT DISTINCT Name FROM zoomlist; --去除结果中[完全重复]的SELECT Name,score1,score2,scroe1+scroe2 FROM zoomlist;--as:自定义名字展示,也可以不写asSELECT Name,scroe1+IFNULL(scroe2,0) 总分 FROM zoomlist; --ifnull遇到没有值的直接给赋值为0SELECT Name,score1,score2,scroe1+IFNULL(scroe2,0) AS 总分 --显示表头FROM zoomlist,peoplelist; --从zoomlist、peoplelist里面获取
* > 、= 、= 、!=、--不等号* and、or、not --关键字比&&、||、!好用推荐* BETWEEN...AND --范围内都符合就行* IN( 集合) --特定值的范围* LIKE:模糊查询(1)_:单个任意字符;(2)%:多个任意字符* IS NULL例子:select Name, Age from Student where age between 12 and 20;select Name, Age from Student where age in (12,14,16,18);select Name, Age from Student where name like '%牛%'; --查名字里面包含了牛的学生select Name, Age from Student where name is not null; -- 查询学生:名字空的不查
1. 並べ替えクエリselect * from employee order by age;select * from employee order by age asc; --升序select * from employee order by age desc; --降序select * from employee order by age desc height desc; --第一个一样的时候,才会用第二个方法排序(age降序,身高降序)
min、max、sum、avg: 評価
select count(*) from student;select count(ifnull(age,20)) from student; select count(age) from student;--如果没有就不记录select count(id) from student; --我们一般选用主键来统计个数select max(age) from student;select min(age) from student;select sum(age) from student;select avg(age) from student;
select sex,count(name) from employee group by sex having count(name)
SELECT * FROM student LIMIT 0,5; -- 第1页,从0索引开始,读5个数据SELECT * FROM student LIMIT 7,10; -- 第2页,从7索引开始(第8个数据),读10个数据
主キー制約: 主キー
-- 建表时添加非空约束: create table employee( name char(30), sex char(8) not null ) alter table employee modify sex char(8) not null; --添加非空约束 alter table employee modify sex char(8); --破除非空约束
制約を削除するには、ドロップ インデックスを使用して一意の制約を削除することしかできません。
-- 建表时添加唯一约束: create table employee( name char(30), sex char(8), score int unique --分数要唯一 ) --添加唯一约束alter table employee modify name char(8) unique; --破除唯一约束-- alter table employee modify sex char(8); 不可用--破除name身上的unique约束用drop index除去索引alter table employee drop index name;
テーブルには、空ではなく一意の主キーが 1 つだけあります
レコードの一意の識別子です。index
-- 建表时添加主键约束: create table employee( id int primary key, --给id加上主键约束 name char(30), ) --添加唯一约束alter table employee modify id int primary key; --破除唯一约束-- alter table employee modify id int; 不可用!--破除id身上的primary key约束只能用drop primary keyalter table employee drop primary key;
5. まとめは数値の場合にのみ役立ち、一般的には自動拡張のために主キーに配置されます
-- 建表时添加auto_increment: create table employee( id int auto_increment, --给id加上auto_increment name char(30), ) --添加auto_increment,自动从1开始alter table employee modify id int auto_increment;--设置初值alter table employee auto_increment = 100; --破除auto_incrementalter table employee modify id int;ログイン後にコピー
SQL とは何かを学び、簡単な紹介をし、MySQL の基本的な操作もいくつかリストしました。クエリと制約とは何かについても説明します。
将来的には、MySQL の複数のリレーションシップ、複数テーブルのクエリ、トランザクション (まだ何なのかはわかりません)、JDBC ステートメント、データベース接続プールのドルイド、JDBCTemplate についても学習します。まだまだ学ぶべきことはたくさんありますが、今の課題は基礎的なことを整理することであり、基礎を固める最後の言葉です! ! !
データを追加するときに列名を記述しない場合は、すべての列の値を指定する必要があります。そうしないと、エラーが報告されます
以上がMySQL の基本操作を 5 分で学ぶの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。